2011-08-24 148 views
0

我有双向多对一关系。当我从表中检索父对象,所有子对象应该得到检索但只有第一个是越来越检索 父看起来像@ManyToOne关系,JPA

@Entity 
public class xyz{ 
@OneToMany(mappedBy="xyz",cascade=CascadeType.PERSIST,fetch=FetchType.EAGER) 
private Set<zyx> zyxDO;} 

的子类看起来像

public class zyx{ 
@ManyToOne 
@JoinColumn(name="id") 
private xyz xyzDO; 
} 

是有任何注释可以检索底层数据库的所有行

+0

这是发生在所有记录还是只有一些? – Padmarag

回答

0

通过检索底层数据库的所有行,你是什么意思?您只能检索父母的密钥集中的孩子。还要注意,提取渴望很容易导致很大的性能问题,因为即使不需要它们,孩子也会被永远提取。

2

也许它是一个拼写错误,但mappedBy的值应该是拥有实体中指向逆实体的属性的名称,在本例中为xyzDO。

也许因为你使用的是一个集合而不是一个集合可能会导致只有一个孩子被检索(如果它们是相同的)。

0

确保在添加/设置关系时设置关系的两侧。

相关问题