java - Hibernate Criteria API - 如何获取对象属性列表

标签 java hibernate hibernate-criteria

我有两个类

class House {
    String id
    Long size
    Resident resident
}

class Resident {
    String id
    String name
}

我想要的是一份居民名单,但我需要对房屋进行一些限制。方程关于尺寸方程> 20 并将结果限制为 10

居民没有提及该房屋。

我真的不知道如何继续下去。

我尝试过这个:

Criteria crit = session.createCriteria(House.class);
crit.add(Expression.ge("size", 20));
crit.setMaxResults(10);
crit.addOrder(Order.desc("size"));
return crit.list();

但我不知道如何连接到居民

最佳答案

尝试以下代码:

Criteria crit = session.createCriteria(House.class);
crit.add(Expression.ge("size", 20));
crit.setMaxResults(10);
crit.addOrder(Order.desc("size"));
crit.setFetchMode("resident", FetchMode.JOIN);
crit.setProjection(Projections.property("resident"));
return crit.list();

关于java - Hibernate Criteria API - 如何获取对象属性列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13135354/

相关文章:

java - 如何更改最里面的嵌套语句,但保留外部语句?

java - Controller 中的 Spring MVC URL 映射 对于动态 URL

java - JPA 延迟加载适用于最终实体和私有(private)构造函数

sql - 以下 SQL 查询的等效条件查询?

java - 下载时写入额外行的 CSV 文件

java - 关于对象类型的问题

hibernate - glassfish 4 上的 jdbc/_default

eclipse - Hibernate映射找不到资源

java - 涉及继承的映射的 Hibernate 查询条件

mysql - hibernate 标准对一组元素放置包含/不包含限制