如何正确使用一对多和多对一的注释?

时间:2014-04-14 08:28:21

标签: java jpa crm

美好的一天,

我已经开始了我的第一个基于CRM应用程序的JPA项目,我在理解ManyToOne和OneToMany注释的正确用法方面遇到了一些困难。例如,我们说我有两个班级;这些将是帐户和用户类:

public class Account {

@OneToMany
private Set<User> userList = new HashSet<User>();

public class User {

@ManyToOne
private Account account;

如何正确注释多对一和一对多关系?我试过阅读文档,但我仍无法找到正确的结论。

感谢您的关注

1 个答案:

答案 0 :(得分:0)

对于你的情况,一个'规范'的OneToMany映射,意思是双向的,在你的情况下,多边(自己的一面)表中的外键将如下所示:

public class Account {

@OneToMany(mappedBy="account")
private Set<User> userList = new HashSet<User>();

public class User {

@ManyToOne
private Account account;

现有代码的唯一区别是mappedBy属性,用于将两个单向关系更改为单个双向关系。