幾年後,我又回到了Java,這是我第二天在看待hibernate並且還沒有完全理解它。Hibernate Criteria.list()導致java.lang.ClassCastException
我有以下標準正在執行聯接:
Criteria cr = s.createCriteria(Bla.class, "bla");
cr.setFetchMode("bla.nodePair", FetchMode.JOIN);
cr.createAlias("bla.nodePair", "node_pair");
cr.add(Restrictions.in("bla.blaName", (List<Bla>) getBlas()));
ProjectionList columns = Projections.projectionList()
.add(Projections.property("node_pair.priNode"))
.add(Projections.property("bla.blaName"))
.add(Projections.property("node_pair.secNode"))
.add(Projections.property("bla.port"));
cr.setProjection(columns);
List<Object[]> list = cr.list(); // Exception occurs here
這是就建立我可以告訴一個有效的SQL查詢,正是我後我。
然而,當我嘗試生成結果列表cr.list();
我得到:
java.lang.ClassCastException: com.some.package.domainobject.Bla cannot be cast to java.lang.String
我應該如何構建我的列表。任何指針非常讚賞。
你舉的例子好像它是完全的東西你彌補了練習。數據庫中的東西實際上是類「Bla」類嗎?你把它放在那裏?你可能試圖從數據庫中讀取一個不同的對象,這會讓你失望。 – markspace 2015-03-13 15:33:22