[英]How to map join query to non-entity class in JPA?
In hibernate 在休眠
Join queries can be mapped with non-entity class . 连接查询可以与非实体类映射。 How to map a database query into an Object [in Java]?
如何将数据库查询映射到Object [在Java中]?
<class name=... select="select A.field_a, B.field_b, ... from A, B, ...">
How can I achieve the same thing in JPA/Hibernate ? 如何在JPA / Hibernate中实现相同的功能?
In hibernate you can invoke a constructor of any arbitrary class inside the select clause of a query. 在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")
etc. (note fully qualified classname is required) 等(注意完全限定的类名是必需的)
Then you just need the class the has a matching constructor 那么你只需要具有匹配构造函数的类
public class QueryResultObject {
public QueryResultObject(TypeOfFieldA fieldA, TypeOfFieldB fieldB) {
//etc
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.