【发布时间】:2011-06-28 19:32:06
【问题描述】:
在休眠中
连接查询可以映射到非实体类。 How to map a database query into an Object [in Java]?
<class name=... select="select A.field_a, B.field_b, ... from A, B, ...">
如何在 JPA/Hibernate 中实现相同的功能?
【问题讨论】:
在休眠中
连接查询可以映射到非实体类。 How to map a database query into an Object [in Java]?
<class name=... select="select A.field_a, B.field_b, ... from A, B, ...">
如何在 JPA/Hibernate 中实现相同的功能?
【问题讨论】:
在 hibernate 中,您可以在查询的 select 子句中调用任意类的构造函数。
@NamedQuery( name = "myScalarQuery" query =
"select new org.stackoverflow.hibernate.QueryResultObject(A.field_a, B.field_b)
from A, B
where a.someUsefulProperty = b.someComparableProperty")
等等。 (注意需要完全限定的类名)
那么你只需要具有匹配构造函数的类
public class QueryResultObject {
public QueryResultObject(TypeOfFieldA fieldA, TypeOfFieldB fieldB) {
//etc
}
}
【讨论】: