我的问题是基于另一个帖子。如何使用本机查询实现相同目的?本机查询不允许JPQL,因此也不允许新实例。
我的POJO。
class Coordinates { private final BigDecimal latitude private final BigDecimal longitude ... }
我的数据库表包含城市周长的坐标,因此共有三列:city_name,纬度和经度。每个城市都包含许多(实际上是LOTS)周界坐标,这些坐标将用于在Google地图中建立阴影区域。
我打算在该表上构建一个简单的本机查询,该查询应返回坐标列表。
在另一个帖子上找到了答案。基本上,我使用的SqlResultSetMapping一起ConstructorResult(没有其他办法解决)有特别注意上提后的接受的答案评论:您需要将添加@NamedNativeQuery注释所使用的实体interface 和 与前面加上实体的名称.,否则它赢得不行
SqlResultSetMapping
ConstructorResult
@NamedNativeQuery
interface
.
例:
@Entity @Table(name = "grupo_setorial") @SqlResultSetMapping( name = "mapeamentoDeQuadrantes", classes = { @ConstructorResult( targetClass = Coordenada.class, columns = { @ColumnResult(name = "latitude"), @ColumnResult(name = "longitude") } ) } ) @NamedNativeQuery( name = "GrupoCensitario.obterPerimetroDosSetores", query = "SELECT latitude as latitude, longitude as longitude FROM coordenadas where id_setor IN (:setores)", resultSetMapping = "mapeamentoDeQuadrantes" ) public class GrupoCensitario {