我正在使用条件来获取包含活动用户的通知列表。问题是我收到以下错误:
org.hibernate.QueryException: could not resolve property: user.active of: com.company.Notification
然后检查用户是否处于活动状态,我需要检查通知是否属于我想要的类型。这是我的代码:
session.createCriteria("com.company.Notification")
.add(Restrictions.or(Restrictions.eq("type", "email"),
.add(Restrictions.eq("user.active", true)).list();
通知中有一个字段User user
,而字段Boolean active
我正在查看此页面:https://forum.hibernate.org/viewtopic.php?t=948576&highlight=subproperty
但我仍然不知道如何创建访问父对象和子对象中某些内容的条件。
答案 0 :(得分:6)
试试这个:
session.createCriteria("com.company.Notification")
.add(Restrictions.or(Restrictions.eq("type", "email")
.createCriteria("user") // this creates the join on the user table...
.add(Restrictions.eq("active", true)).list();
希望有所帮助......