gpt4 book ai didi

java - JPA模型关系

转载 作者:行者123 更新时间:2023-11-29 05:54:08 24 4
gpt4 key购买 nike

我目前正在使用使用 JPA 的 playframework 1.2.4 为我和我的 friend 编写一个板。一切都很好,直到我来到 View 机制。

问题是,每个用户都可以有多个 View 条目。每个主题也可以有多个 View 条目,所以这是我的 View 模型:

@Entity
public class ForumTopicView extends Model
{

@Required
@ManyToOne
public ForumTopic topic;

@Required
@ManyToOne
public User user;

@Required
public Date viewDate;

}

另一方面,主题和连接的用户只有一个 View 。

这是我的主题模型:

@Entity
public class ForumTopic extends Model
{

// ...

@OneToOne(mappedBy = "topic") // TODO: and the connected user
public ForumTopicView view;

// ...
}

我如何自定义这个用户必须是已连接的用户,并且对于每个主题只有一个选择的 View 。

感谢您的帮助!!鲁

@Yogendra Singh:是的,没错。每个用户都可以查看一个主题。

最佳答案

如果关联的一侧是 ManyToOne,则另一侧必须是 OneToMany,而不是 OneToOne。

每个主题都有多个 View (其中一个 View 是针对当前用户的)。每个用户都有多个 View (其中一个 View 针对给定主题)。所以你有两个 OneToMany/ManyToOne 关联。

不清楚您想做什么,但我认为您需要执行查询才能获得所需的内容。如果您想要的是与当前用户关联并对应于给定主题列表的 View 列表,则查询就是

select view from ForumTopicView view
where view.user = :currentUser
and view.topic in (:listOfTopics)

如果您有 50 个主题,则不需要 50 个查询。上面的一次检索所有 View 。

关于java - JPA模型关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12810775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com