我的问题是相同的确切问题是这样的SO question。休眠部分填充对象与投影
假设我们有实体一样
public class Employee {
Long getId();
String getName();
Address getAddress();
}
有了个createCriteria的帮助下,我们正在试图获得ID预测,名字来自用户和城市从地址表。
我们遇到的问题是,城市没有被设置为解决对象城市属性。
这是我们试图代码:
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
评论,但如果我授权这样做,我怎么能实现呢?任何输入将不胜感激。
谢谢@JB Nizet。我会尝试可能是第二种方法。 – kosa 2012-07-24 17:30:09
在做这个解决方案时,我最终陷入了奇怪的境地。其中一个问题是,我的标准有时候会填充城市,有时候是邮编,有时候也是。该标准部分将是if/else情况。在这种情况下,如何使用Object []来确定我的查询是否正在使用ZIPCODE(或)CITY(或)BOTH?任何输入将不胜感激。 – kosa 2012-07-25 21:58:17
如果你知道要查询什么,你也应该知道要填充什么。简单的'if'块应该这样做。你也可以有三个“Populator”实例,并在方法开始时创建合适的实例。 – 2012-07-26 05:53:46