【发布时间】:2020-06-22 14:26:12
【问题描述】:
我需要来自多个表数据的多个列。
使用原生查询:
@Query(value = "select t1.name as name, t1.phone as phone, t2.address as address, t2.pincode as pincode
from tablet t1, table2 t2
where t1.id=t2.tab1_id", nativeQuery = true)
List<MultipleColumnValues> getMultipleColumnsFromMultipleTables();
上述查询的返回类型是下面投影的列表:
public interface MultipleColumnValues {
String getName();
String getPhone();
String getAddress();
String getPincode();
}
我已成功获取列表。
但:
结果存储在不同的变量中,例如,
提到的查询中的列名没有使用投影方法 Names 正确呈现。
例如:列 'name'(db query) 的值存储在 getPincode() 中,
而 pincode(db Query) 存储在 getAddress() 中
如何正确渲染/映射结果集名称与确切的投影方法名称?
【问题讨论】:
-
你可以尝试添加“as”,如“t1.name as name”
-
@SimonMartinelli 按照建议编辑了我的问题
-
我无法重现您的问题。您使用的是哪个 Spring Boot 版本?
-
@SimonMartinelli spring boot 版本-1.5.2
标签: spring-boot jpa spring-data-jpa projection