2

大家好,

 @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 一起映射。

请帮我。

4

0 回答 0