使用常规HQL我能够通过执行某些操作来使Hibernate返回未映射到数据库的对象的List
List<MyUnmappedObject> result = (List<MyUnmappedObject>) session
.createQuery("select new MyUnmappedObject(obj1.field1, obj2.field1, obj2.field2) from MyFirstObject obj1 join obj1.obj2 obj2")
.list();
现在我正在尝试做同样的事情,但是使用Criteria。我知道如何使用Projections获取List,但是使用这些结果是否有对新对象创建的内置支持?显然我知道我可以解析结果并手动创建新对象,但我试图整合所有内容。我目前正在使用以下内容,但不知道如何将其合并到直接对象创建中:
Criteria c = session.createCriteria(MyFirstObject.class, "obj1");
c.createAlias("obj1.obj2", "obj2");
c.setProjection(Projections.distinct(Projections.projectionList()
.add(Projections.property("obj1.field1")
.add(Projections.property("obj2.field1")
.add(Projections.property("obj2.field2")));
List<Object[]> result = c.list();
任何帮助都将不胜感激。