我有一个带有本机查询的Spring Data存储库方法
@Query(value = "SELECT g.*, gm.* FROM group g LEFT JOIN group_members gm ON g.group_id = gm.group_id and gm.user_id = :userId WHERE g.group_id = :groupId", nativeQuery = true)
GroupDetails getGroupDetails(@Param("userId") Integer userId, @Param("groupId") Integer groupId);
Run Code Online (Sandbox Code Playgroud)
我想将结果映射到非实体POJO GroupDetails.
是否有可能,如果可以的话,请你提供一个例子吗?
我的问题是基于另一篇文章.如何使用本机查询实现相同的功能?本机查询不允许JPQL因此也不允许新实例.
我的POJO.
class Coordinates {
private final BigDecimal latitude
private final BigDecimal longitude
...
}
Run Code Online (Sandbox Code Playgroud)
我的数据库表包含城市边界的坐标,因此有三列:city_name,纬度,经度.每个城市都包含很多(实际上很多)周边坐标,用于在Google地图中构建阴影区域.
我打算在该表上构建一个简单的本机查询,该查询应该返回一个坐标列表.
我使用Spring Data JPA和spring boot应用程序.我有一个具有很少属性的实体类.考虑我有10个与该实体关联的属性User,我想只检索其中的几个(用户名,密码,名字,姓氏,电子邮件).
所以我编写了一个查询来只获取5个字段,但该方法不返回实体对象,而是返回一个普通对象.
如何将查询结果强制转换为Spring Data JPA中的实体?
@Query("select userName,password,firstName,lastName,email from User")
public List<User> getUsers();
Run Code Online (Sandbox Code Playgroud) 我们正在使用spring数据jpa,我们在其中一个repo中有一个本机查询.我们想要将此查询的结果映射到非实体pojo.一切正常但返回的结果是对象列表而不是非实体pojo类.
一旦获取了这个pojo列表,我们希望转换为json响应.哪个适用于其他api,但不适用于我们使用非实体类.
有没有人做过这样的事情?
spring ×3
java ×2
jpa ×2
spring-data ×2
hibernate ×1
jpql ×1
json ×1
orm ×1
pojo ×1
rest ×1
spring-boot ×1
spring-mvc ×1