在 Spring Boot Rest API 中使用多个连接公开自定义查询
Expose custom query in Spring Boot Rest API with multiple joins
我有一个 Spring REST Api 和一个 MySQL 数据库,现在我想公开具有多个连接的自定义查询的结果。
我尝试了在网上找到的多种建议,但到目前为止,其中 none 对我有用。
我想要做的是类似于只读 DTO,它具有我的自定义查询的所有字段,所以最后我有一个 api 页面将 DTO 数据公开为 JSON 所以我的客户(Angular) 可以从那里读取数据。
我已经尝试过:
创建一个带有注入的 EntityManager 的 @RestController,它执行 NativeQuery,然后用返回的数据填充 DTO,但由于我的 DTO 不是实体,我得到一个 Hibernate 映射异常
创建自定义存储库及其 Impl,但结果相似
将查询放在作为查询语句一部分的现有@Entity 中
我在这里错过了什么?我是否必须注释我的 DTO? Cuttently 它只是一个 POJO,我认为 @Entity 注释在这里不是正确的,因为我不想从我的 DTO 创建 Table。
通过让查询 return 一个对象类型的数组然后将其映射到 DTO 构造函数来修复它。
我有一个 Spring REST Api 和一个 MySQL 数据库,现在我想公开具有多个连接的自定义查询的结果。 我尝试了在网上找到的多种建议,但到目前为止,其中 none 对我有用。 我想要做的是类似于只读 DTO,它具有我的自定义查询的所有字段,所以最后我有一个 api 页面将 DTO 数据公开为 JSON 所以我的客户(Angular) 可以从那里读取数据。 我已经尝试过:
创建一个带有注入的 EntityManager 的 @RestController,它执行 NativeQuery,然后用返回的数据填充 DTO,但由于我的 DTO 不是实体,我得到一个 Hibernate 映射异常
创建自定义存储库及其 Impl,但结果相似
将查询放在作为查询语句一部分的现有@Entity 中
我在这里错过了什么?我是否必须注释我的 DTO? Cuttently 它只是一个 POJO,我认为 @Entity 注释在这里不是正确的,因为我不想从我的 DTO 创建 Table。
通过让查询 return 一个对象类型的数组然后将其映射到 DTO 构造函数来修复它。