我的問題是相同的確切問題是這樣的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