Hibernate标准问题

Nik*_*yGS 0 java hibernate

我关注POJO: - 公司

  • 节点(nodeID,公司)

  • 用户(userID,节点)

我想创建where子句(通过Criteria),它将返回给我给定公司的每个用户.就像是 ...

Criteria criteria = session.createCriteria(User.class)
criteria.add(Restrinctions.eq("node.company", someCompanyObject);
Run Code Online (Sandbox Code Playgroud)

但是这不起作用,所以可以使用条件类来执行此操作还是应该使用HQL/SQL?

提前致谢!

tan*_*ens 5

在Hibernate文档说:

通过使用createCriteria()导航关联,您可以在相关实体上指定约束:

List cats = sess.createCriteria(Cat.class)
    .add( Restrictions.like("name", "F%") )
    .createCriteria("kittens")
        .add( Restrictions.like("name", "F%") )
    .list();
Run Code Online (Sandbox Code Playgroud)

转换到你的问题:

Criteria criteria = session.createCriteria(User.class) 
    .createCriteria( "node" )
    .add( Restrinctions.eq( "company", someCompanyObject) );
Run Code Online (Sandbox Code Playgroud)