我有以下POJO:
-公司
节点
(nodeID,公司)
用户
(用户ID,节点)
我想创建where子句(通过Criteria),该子句将返回给定公司的每个用户。就像是 ...
Criteria criteria = session.createCriteria(User.class)
criteria.add(Restrinctions.eq("node.company", someCompanyObject);
但这是行不通的,因此有可能使用条件类执行此操作或应使用
HQL / SQL?
提前致谢!
最佳答案
hibernate documentation说:
通过使用createCriteria()浏览关联,可以指定对相关实体的约束:
List cats = sess.createCriteria(Cat.class)
.add( Restrictions.like("name", "F%") )
.createCriteria("kittens")
.add( Restrictions.like("name", "F%") )
.list();
转为您的问题:
Criteria criteria = session.createCriteria(User.class)
.createCriteria( "node" )
.add( Restrinctions.eq( "company", someCompanyObject) );