根据孩子获得父实体

时间:2017-04-29 20:55:22

标签: hibernate jpa orm hql

我试图根据子对象获取父实体: 我有实体家长喜欢:

public Class Parent{
...
@ManyToOne
private Child child;
 //getters & setters
   }

当我使用这种方法让父母拥有一个特定的孩子时:

public ArrayList<Parent>getParentsByChild(Child child){
 String req="from Parent p where p.child= :child";
Query query = em.createQuery(req, Parent.class);
query.setParameter("child", child);
 @SuppressWarnings("unchecked")
ArrayList<Parent> parents= (ArrayList<Parent>)  query.getResultList();
    return parents;
}

我得到了无效标识符的例外,问题是我甚至可以通过特殊孩子获取父母列表,如果是,我在查询中需要更改什么。

感谢您的帮助,

1 个答案:

答案 0 :(得分:0)

请在您的代码中尝试以下查询。

String hql = "select p from Parent p where p.child = :child"