34

我有两个数据库实体:ForumTopic.

Topicprotected long forumId数据成员,这当然表示Topic的论坛。

我的问题是该数据成员使用什么注释?

4

3 回答 3

47

由于论坛有很多主题,而一个主题属于一个且唯一的论坛,您可能希望使用带有注释的论坛类型属性@ManyToOne

@ManyToOne
@JoinColumn(name = "forumId")
private Forum forum;

看更多:

多对一JPA 映射

于 2012-08-10T16:51:10.247 回答
4

正如其他人回答的那样 -
您应该使用ManyToOne, 和JoinColumn注释。
请记住,由于 JPA 是关于 ORM - 对象关系映射,
您应该引用另一个对象,就像您在 Java 中“自然地”所做的那样 - 即通过一个对象而不是通过它的标识符(在您的情况下是 forumId),
这是 JPA 和 Hibernate(以前是 JPA)的关系之间的设计考虑之一。

于 2012-08-10T16:57:01.577 回答
1

@ManyToOne 正如注释所暗示的那样 - 每个论坛都有很多主题

于 2012-08-10T16:52:35.650 回答