使用@Query 休眠 jpa 投影
hibernate jpa projection with @Query
我见过的大多数示例都在使用 entityManager.createQuery 或 .createNativeQuery 等
有没有办法让类似下面的东西工作?
data class SummaryDto(val employeeName: String, val employerName: String)
@Query("select e.name as employeeName, emp.name as employerName " +
"from Employer e " +
"inner join Employee emp on emp.employer_id = e.id ", nativeQuery = true)
fun findSummaries(): List<SummaryDto>
当我运行上面的代码
我遇到了这个错误
找不到能够从类型转换的转换器
[org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap] to type [dto.SummaryDto]
这可以用 Kotlin 完成,还是有其他方法可以让它与基于 Hibernate JPA 注释的一起工作?
谢谢
锡
对于可能 运行 遇到同样问题的任何人。把SummaryDto
改成这样的界面
interface SummaryDto {
val employeeName: String
val employerName: String
}
会起作用。
我见过的大多数示例都在使用 entityManager.createQuery 或 .createNativeQuery 等
有没有办法让类似下面的东西工作?
data class SummaryDto(val employeeName: String, val employerName: String)
@Query("select e.name as employeeName, emp.name as employerName " +
"from Employer e " +
"inner join Employee emp on emp.employer_id = e.id ", nativeQuery = true)
fun findSummaries(): List<SummaryDto>
当我运行上面的代码
我遇到了这个错误
找不到能够从类型转换的转换器
[org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap] to type [dto.SummaryDto]
这可以用 Kotlin 完成,还是有其他方法可以让它与基于 Hibernate JPA 注释的一起工作?
谢谢 锡
对于可能 运行 遇到同样问题的任何人。把SummaryDto
改成这样的界面
interface SummaryDto {
val employeeName: String
val employerName: String
}
会起作用。