spring-data-jpa-guide icon indicating copy to clipboard operation
spring-data-jpa-guide copied to clipboard

经测试@Query等于nativeSql的时候projections是DTO的时候不能正确映射

Open zhangzhenhuajack opened this issue 5 years ago • 3 comments

参考:
https://www.baeldung.com/jpa-queries-custom-result-with-aggregation-functions
确实没有提到DTO的nativeSql的用法;

但看Hibernate感觉应该是支持才对。
https://thoughts-on-java.org/dto-projections/
难道要配置@SqlResultSetMapping:
https://stackoverflow.com/questions/29082749/spring-data-jpa-map-the-native-query-result-to-non-entity-pojo 这是个什么原理和机制有待研究......

zhangzhenhuajack avatar Jan 02 '20 08:01 zhangzhenhuajack

image 经过测试是完全可以的,需要注意的是 @Query返回的可以直接用接口,如果用class **Dto的话需要配合 spel表达式,另外DTO有很多局限性,就是对DTO的构造方法有要求最好只有一个

zhangzhenhuajack avatar Sep 09 '20 01:09 zhangzhenhuajack

DTO的话需要注意构造方法: image

zhangzhenhuajack avatar Sep 09 '20 01:09 zhangzhenhuajack

请问这个映射还有更多配置项可选吗?

测试情况图

这个测试用例涉及到了:

  1. 下划线和小驼峰的映射问题
  2. 字段类型的转换问题

如图所示,使用这种“简单默认”的配置方式,无法很好地满足需求。

上面提到了用dto可以配合spel表,能否给一些例子来说明如何使用?

看您写的两本jpa的书籍,都是推荐接口方式的,那么接口方式又是否可以使用spel呢?

loli0con avatar Jun 13 '22 07:06 loli0con