在Hibernate中需要selfjoin的帮助

时间:2016-06-06 19:44:41

标签: java hibernate

请考虑以下课程:

class A{
   @Column(name="ID")
   int id;

   @Column(name="CODE")
   String code;

   @Column(name="NAME")
   String name;

   @Column(name="ID2")
   int id2;

   @Transient
   @ManyToOne(fetch = FetchType.LAZY, optional = true)
   @JoinColumns({ @JoinColumn(name = "CODE"), @JoinColumn(name = "ID2") })
   @Where(clause="parent.name is NULL")
   A parent;

   public A getParent(){
      this.parent;
   }
}

我需要根据这些条件检索对象的父对象: 上面的代码不起作用,请你帮我解决。

P.S:父sql查询一样:

select b.* from A a inner join A b 
on a.code = b.code
and a.id2 = b.id2
where b.name is null;