几年后,我又回到了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