大家好,
@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();
这是查询。
如果我将 where 子句放在 child.test1 上,那么它将返回 null,null 作为记录。但如果我删除 where 子句,那么它会与 Parent 一起映射。
请帮我。