Java 如何在spring boot中从JPA对象映射
大家好:我有一个小问题要你们帮我解决。 我的问题是下一步,我必须根据谷歌地图和经纬度找到较短的商店距离,不管怎样,我有这样做的查询, 我的问题是,当我调用Java 如何在spring boot中从JPA对象映射,java,spring-boot,api,Java,Spring Boot,Api,大家好:我有一个小问题要你们帮我解决。 我的问题是下一步,我必须根据谷歌地图和经纬度找到较短的商店距离,不管怎样,我有这样做的查询, 我的问题是,当我调用jparepository时,它返回一个数组,我需要返回一个特定格式的数组 这是我的终点,我正试图从jparepository @RequestMapping(value=“api/promos/distance/”,method=RequestMethod.GET) 公共响应距离(@RequestParam(required=false)双纬
jparepository
时,它返回一个数组,我需要返回一个特定格式的数组
这是我的终点,我正试图从jparepository
@RequestMapping(value=“api/promos/distance/”,method=RequestMethod.GET)
公共响应距离(@RequestParam(required=false)双纬度、双经度、长半径){
试一试{
返回响应状态(HttpStatus.OK)
.body(位置DAO.FindInstance(纬度、经度、半径));
}捕获(例外情况除外){
返回ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(例如toString());
}
}
这是我的存储库,包含参数并返回2个值
@Query(value = "select sp.id as id, \n" +
" ( 6371 * acos( cos( radians(:latitude) ) \n" +
" * cos( radians( sp.latitude )) \n" +
" * cos( radians( sp.longitude ) - radians(:longitude)) \n" +
" + sin( radians(:latitude) ) \n" +
" * sin( radians( sp.latitude ) ) ) ) AS distance \n" +
" from promo_locations sp \n" +
"having distance < :radius ORDER BY distance ASC", nativeQuery = true)
List<Object> findDistance(
@Param("latitude") Double latitude,
@Param("longitude") Double longitude,
@Param("radius") Long radius);
但我需要以这种形式向我展示:
[
{
"id" : 1,
"distance" : 137.94383549078196
},
{
"id" : 2,
"distance" :137.94383549078196
}
]
如果有人知道如何绘制地图或如何转换,我将非常感谢您
基本上,您需要在返回类型
列表中为本机查询定义sqlresultsmapping,Object
的实际类型是什么?我真的不知道这样返回“``[[1137.94383549078196],[2137.94383549078196]]```
[
{
"id" : 1,
"distance" : 137.94383549078196
},
{
"id" : 2,
"distance" :137.94383549078196
}
]