我有以下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) );

08-05 14:11