java - 如何将连接查询映射到 JPA 中的非实体类?

标签 java hibernate 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
}

}

关于java - 如何将连接查询映射到 JPA 中的非实体类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5024533/

相关文章:

java - 以高效的方式计算字符串中出现的字符数?‽?

java - 野蝇从 8.2 CR1 迁移到 9 CR1

java - Eclipse E4 中的 FilteredItemsSelectionDialog

spring - JsonMappingException : Can not construct instance of

java - hibernate : Strange TypeCast Exception Thrown While retrieving records in Java from postgres database table

JAVA:从 HTTPS URL 获取响应代码的最快、最好的方法是什么?

java - 通过分页获取用户数据

java - 如何在 JPA 域模型中实现状态设计模式

java - 如何在EntityListener类中使用@Autowired?

java - 何时使用/不使用,@OneToOne 和@ManyToOne