java - 如何将 JPA 查询结果映射到 POJO?
问题描述
@Query("SELECT tt, at.field, at.anotherField from TableTest tt LEFT JOIN AnotherTable at ON at.commonField = tt.commonField")
List<TestPojo> findAllPojo(List<TableTestDTO> TableTestDTOList);
如何将此 JPA 查询结果映射到没有本机查询的 Pojo,例如这种方法?
我正在使用 JPA 和休眠。谁能提供其他选择?
解决方案
尝试使用构造函数:
@Query("SELECT new TestPojo(tt, at.field, at.anotherField) from TableTest tt LEFT JOIN AnotherTable at ON at.commonField = tt.commonField")
List<TestPojo> findAllPojo(List<TableTestDTO> TableTestDTOList);
当然,这样的构造函数必须存在,更好的是放置完全限定名称而不是 bare TestPojo
。
推荐阅读
- c++ - 固定分配 std::vector
- python - 尝试仅使用 [HH:DD] 转换 Pandas 列,但返回 [YYYY-DD-MM HH:MM:SS]
- security - 如何在 Yesod 应用程序中向所有端点添加标头?
- mulesoft - 在 Mulesoft 中关闭注销
- python - 如何使用不同的列用 geopandas 绘制不同的颜色属性(色调、值、饱和度)?
- c# - 有没有办法在 Azure AD 中使用用户名和密码对 Graph API 进行身份验证而无需应用程序注册
- python-3.x - 如何使用for循环遍历两个列表来创建字典
- sql - 如果当前列值为空,则从下一行获取同一列的值
- android - 为什么将 FrameLayout 与 BottomNavigation 一起使用?
- javascript - 为什么 ChartJS 的条形图不呈现特定值的条形?