[英]Hibernate Criteria Cast with Projections
我有一個帶有兩個投影的標准,兩個投影都是和。 結果受某個ID限制,因此僅一行。 我希望結果是雙打列表。
像這樣的東西:
Criteria criteria = session.createCriteria(SomeClass.class).add(Restrictions.eq("id", id))
.setProjection(Projections.projectionList()
.add(Projections.sum("aFloatColumn"))
.add(Projections.sum("anotherFloatColumn")));
我希望結果是數組或列表。
這樣做:
Object result = (Object) criteria.uniqueResult();
結果是值為“ [sum1,sum2]”的單個對象;
當我嘗試將其強制轉換為Double []或List <Double>時,出現java.lang.ClassCastException。 這是因為結果是具有單個值(即元組)的單個對象。
有任何想法嗎?
觀察:我可以處理對象以執行我想要的操作。 將其轉換為String,split,cast ...但是我認為必須有一種更聰明的方法來實現。
解決了兩個咨詢:
setProjection(Projections.sum("aFloatColumn"));
List<Double> result = new ArrayList<Double>();
result.add((Double) criteria.uniqueResult());
setProjection(Projections.sum("anotherFloatColumn"));
result.add((Double) criteria.uniqueResult());
如果有人知道怎么做,請告訴我。 Tks。
您可能已經將結果轉換為Object[]
(在您的情況下,它將返回一個包含兩個Double
的對象數組); 那么該數組的每個元素都可以分別轉換。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.