2014-04-14 43 views
0

美好的一天,如何正确使用一对多和多对一的注释?

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

public class Account { 

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

public class User { 

@ManyToOne 
private Account account; 

如何正确地诠释了许多-to-one和一个一对多的关系?我试着阅读文档,但仍无法找到正确的结论。

感谢您的关注

+0

注释应该按照原样工作 - 您将创建两个单向映射。所以问题是,你想要做什么不同? – kostja

+0

在我的情况下,帐户类可以有多个用户,并且用户可以只有一个帐户。我想通过JPA注释来表示这种关系,我真的很困惑如何正确地做到这一点。 – Bravo

回答

0

A“规范”一对多映射你的情况,解释名词解释双向,随着许多方(拥有方)的表的外键将你的情况是这样的:

public class Account { 

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

public class User { 

@ManyToOne 
private Account account; 

到现有的代码唯一的区别是mappedBy属性,修改两处unidirecti一对一的关系变成单一的双向关系。

+0

干杯Kostja!这是我需要的信息。这给了我一些关于宣布的关系的解释。 – Bravo

+0

很酷,不客气:) – kostja