【发布时间】:2016-02-29 15:48:45
【问题描述】:
我希望 Spring Data 接口返回一个非实体对象。
我用谷歌搜索并找到了一个解决方案,我应该使用命名查询并将结果集映射到非实体类。
但是,我确实解决了上述异常。是什么导致了这个异常?
这是我的 sql 结果集映射和命名原生查询的实现:
@SqlResultSetMapping(
name = "revenue",
classes = {
@ConstructorResult(
targetClass = Revenue.class,
columns = {
@ColumnResult(name = "date"),
@ColumnResult(name = "revenue")
}
)
}
)
@NamedNativeQuery(name = "calculateRevenueForGasStationName",
query = "select fueling.date, fueling.price*fueling.volume as revenue from gas_station " +
"left join fueling " +
"on gas_station.id = fueling.gas_station " +
"where fueling.date between ?1 and ?2 and gas_station.name=?3 " +
"group by fueling.date",
resultSetMapping = "revenue")
这里是spring数据接口方法,应该链接到name = "calculateRevenueForGasStationName"
@Query(nativeQuery = true)
List<Revenue> calculateRevenueForGasStationName(Date from, Date to, String name);
【问题讨论】:
-
你能给我们完整的堆栈跟踪吗?
-
@AliDehghani 它没有帮助。
-
你试过
name = "Revenue.calculateRevenueForGasStationName"
标签: java spring jpa spring-data