0

この @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();

なんで?

4

3 に答える 3