我正在尝试配置此 @OneToMany 和 @ManyToOne 关系,但它根本不起作用,不知道为什么。我以前在其他项目上做过这个,但不知何故它不适用于我当前的配置,这里是代码:
public class Parent {
@OneToMany(mappedBy = "ex", fetch= FetchType.LAZY, cascade=CascadeType.ALL)
private List<Child> myChilds;
public List<Child> getMyChilds() {
return myChilds;
}
}
public class Child {
@Id
@ManyToOne(fetch=FetchType.LAZY)
private Parent ex;
@Id
private String a;
@Id
private String b;
public Parent getParent(){
return ex;
}
}
起初,我认为这可能是导致故障的三重 @Id 注释,但在删除注释后它仍然不起作用。所以,如果有人有任何想法,我正在使用 EclipseLink 2.0。
我只是尝试用一些记录执行代码,它总是返回 s==0 :
Parent p = new Parent();
Integer s = p.getMyChilds().size();
为什么?