こんにちは、みんな、
@Entity
public class Parent {
@EmbeddedId
private Child child;
@Column(name = "TEST")
private long test;
getter setter
}
と子供クラス
@Embeddable
public class Child {
@Column(name = "TEST1", length = 50, nullable = false)
private String test1;
@Column(name = "TEST2", length = 50, nullable = false)
private String test2;
getter setter and hasCode and Equal function
}
組み込み可能な複合キーを持つモデルがあります。
String hql = "select v from Parent v WHERE v.child.test1= abc";
List<Parent> list2 = sessionFactory.getCurrentSession()
.createQuery(hql).list();
これがクエリです。
child.test1 に where 句を配置すると、レコードとして null、null が返されますが、where 句を削除すると、親とうまくマップされます。
私を助けてください。