我的问题与这个SO question完全相同。
假设我们有像这样的实体
public class Employee {
Long getId();
String getName();
Address getAddress();
}
在 createCriteria 和 Projections 的帮助下,我们尝试从用户和地址表中获取 id、name 和 city。
我们遇到的问题是,城市没有被设置为处理对象城市属性。
这是我们尝试的代码:
Criteria cr = session.createCriteria(Employee.class)
.setProjection(Projections.projectionList()
.add(Projections.property("id"), "id")
.add(Projections.property("Name"), "Name")
.add(Projections.property("address.city"), "address.city"))
.addOrder(Order.asc("address.city"))
.createAlias("address", "address")
.setResultTransformer(Transformers.aliasToBean(Employee.class));
根据对JBNizet
上述问题的评论,我理解部分对象是个坏主意,但是如果我被要求这样做,我该如何实现呢?任何输入将不胜感激。