java - 从弹簧数据 jpa 返回自定义复杂对象的选项
问题描述
我正在尝试使用以下逻辑从 MSSQL 数据库中获取数据。无法确定准备单个查询(SQL 或 JPQL)以将存储库响应作为 MyTestSTO 的选项。有人可以向我建议可用于实现此目标的选项。
预期对象格式:
{
"id": "1",
"name": "Test",
"CabInfo": {
"CabStatus": 0,
"CabStatusStr": "Active",
"CabFunctionalArea": {
"FunctionalAreaId": 3
},
"CabApplication": {
"ApplicationId": 333,
"ApplicationAcronym": "OBM Router"
}
}
}
And JPARepository Class is :
public interface FloorPlanRepositoryExt extends JpaRepository<Sites, Long> {
//Other APIs on Sites Table.
Can we use multiple news in below query ?
@Query(value = "select new TestDTo(sp.id,sp.name,sp.cabStatus,sp.cabStatusStr,
sp.functionalArea,sp.applicationId,sp.ApplicationAcronym) from SpacePower sp where sp.roomId=:roomId)
public List<TestDTo> getRoomSpacesCabByRoomId(@Param("roomId")Integer roomId);
}
我的自定义 DTO 如下:
class TestDTo implements serializable{
private String id;
privateString name;
private CabInfo cabInfo
//Setters and getters and Constructor
}
class CabInfo{
private String cabStatus;
private String CabStatusStr;
private CabFunctionalArea cabFunctionalArea;
private CabApplication CabApplication;
//Setters and getters and Constructor
}
解决方案
在您期望的选择查询中,TestDTo
但在您定义的返回方法中RoomSpacesCabDTO
推荐阅读
- ios - Apple Map 根据用户在 React-native-maps 中的半径变化缩小/缩小
- google-apps-script - 当从已部署公司的项目中调用 google script web app url 时,get java.io.IOException: Server returned HTTP response code: 403 for URL:
- javascript - 如何使用拼接根据javascript中的值从数组中删除对象
- excel - Excel 公式获得的价值刚好大于其他公式
- windows - Powershell (5.1) 安装模块或查找模块挂起/阻塞
- javascript - Jquery嵌套的li和ul标签没有点击
- angular - 在 Web Worker 中导入 tensorflow 时出现 Angular 打字稿类型检查问题
- ruby-on-rails - 创建新记录时忽略Rails模型默认值?
- javascript - 如何将文件从 JS 应用程序保存到 iCloud?
- sql - 如何在视图中包含 OPENJSON?