2013-03-04 12 views
0

我正在使用條件查詢。但我的以下標準不起作用...在條件中獲取UniqueResult

Criteria criteria = session.createCriteria(AgencyDetail.class,」AgencyDetail」) 
.add(Restrictions.eq(「AgencyDetail.agencyId」, agencyId)).add(Restrictions.eq(「AgencyDetail.active」, ‘Y’)); 
agencyDetail = (AgencyDetail)criteria.uniqueResult(); 
agencyId = agencyDetail.getAgencyId(); 

我可以得到標準對象。但錯誤似乎在

+1

你可以顯示'AgencyDetail'的映射嗎? – orique 2013-03-04 07:20:42

+0

你可以發佈你的錯誤日誌嗎? – Pokuri 2013-03-04 07:44:34

+0

定義「不工作」。如果您要求我們調試您的代碼,您至少可以編寫一份適當的錯誤報告,其中描述了預期行爲和實際行爲。這並不需要太多時間,但會爲我們節省大量的猜測工作。 – meriton 2013-03-05 02:15:51

回答

0

您正在複雜的方式去,沒有必要爲您正在發現的實體類定義一個別名,除了實體類的關聯。你只是試試這個,它會工作:

Criteria criteria = session.createCriteria(AgencyDetail.class) 
    .add(Restrictions.eq("agencyId", agencyId)) 
    .add(Restrictions.eq("active", 'Y')); 
agencyDetail = (AgencyDetail)criteria.uniqueResult(); 
agencyId = agencyDetail.getAgencyId(); 
+0

哦,感謝EveryBody!問題解決了。實際上,我的代理機構中沒有agencyId這樣的字段......它位於代理機構詳細表格中。 – 2013-03-08 11:23:59