java - 将不同的本机查询结果映射到具有相同 SqlResultSetMapping 的相同 POJO?
问题描述
我需要执行几个不同的查询,并且我想使用相同的 POJO 来获取结果。我从这些查询中得到的是相同列的组合,我可以重复使用相同的列sqlResultSetMapping
吗?
我正在使用 JPA-2.1 和 Java 8
我的查询类似于:
select tableA.a, tableB.b, tableA.c
from tableA
inner join tableB
select tableA.a, tableB.b
from tableA
inner join tableB
select tableB.b, tableA.c
from tableA
inner join tableB
我的 POJO 是这样的:
public class Result {
String a;
String b;
String c;
}
最后,我的 SqlResultSetMapping 是:
@SqlResultSetMapping(
name="GeneralResult",
classes = {
@ConstructorResult(
targetClass = Result.class,
columns = {
@ColumnResult(name="a", type=String.class), @ColumnResult(name="b", type=String.class), @ColumnResult(name="c", type=String.class)
}
)
}
)
当我使用字段 a、b 执行第一个查询时,调用工作正常。问题是当我执行其他两个查询之一时。
我可以SqlResultSetMapping
对这些查询使用相同的吗?
我尝试了几个 ConstructorResult 但问题是所有字段都是字符串(数据库中的 VARCHAR)。
提前致谢。
解决方案
推荐阅读
- ruby-on-rails - 授权用户在不使用 Pundit 的情况下为每个控制器执行各种 CRUD 操作;Ruby on Rails
- post - 带有字符串格式的 protobuf post rpc 方法
- ios - 无法将 UILabel 连接到 ViewController
- ios - 渐变半圆
- jooq - 是否有一个 jOOQ 工具来验证生成的定义是否仍然正确?
- c# - 如何从事件驱动架构中错过的集成或通知事件中恢复?
- google-apps-script - Google Sheets onEdit 计算
- c# - 如何让 MySQLDataAdapter 使用 TableMapping 设置表名和列?
- javascript - 如何使用自定义类型创建 apollo 客户端查询
- react-native - React Native Expo In App Purchase setPurchaseListener 位置