如何解决Java:如何将从PostgreSQL查询返回的JSON数据分配或读取到JPA Repository方法中 [查询:SELECT row_to_json...]
我在Spring Boot项目的JpaRepository中放置了以下代码,查询返回的JSON结构如下所示。
我遇到错误:已解决[org.springframework.orm.jpa.JpaSystemException:否JDBC类型的方言映射:1111;嵌套的异常是org.hibernate.MappingException:JDBC类型的No Dialect映射:1111] *
String queryString = "SELECT row_to_json(fc)\n" +
" FROM ( SELECT 'FeatureCollection' As type,array_to_json(array_agg(f)) As features\n" +
" FROM (SELECT 'Feature' As type\n" +
",ST_AsGeoJSON(lg.column1) As geometry\n" +
",row_to_json((column2,column3)) As properties\n" +
" FROM public.table As lg ) As f ) As fc;";
@Query(value=queryString,nativeQuery=true)
Json getData(@Param("id") Long id);
在application.properties文件中,我将方言设置为/为:
spring.jpa.database-platform=org.hibernate.spatial.dialect.postgis.PostgisDialect
查询返回一个GeoJson FeatureCollection对象,我想分配它或能够将其读入Java。
请问我这个问题的方式,我是新来的。
返回的GeoJson看起来像这样:
{"type" : "FeatureCollection","features" : [{"type": "Feature","geometry": {"type":"Point","coordinates":[1,1]},"properties": {"id": 1,"name": "one"}},{"type": "Feature","coordinates":[2,2]},"properties": {"id": 2,"name": "two"}},"coordinates":[3,3]},"properties": {"id": 3,"name": "three"}}]}
解决方法
我不知道您到底想在这里实现什么,但是您可能需要使用<canvas id="myChart" width="400" height="400"></canvas>
<script>
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx,{
type: 'bar',data: {
labels: ['Red','Blue','Yellow','Green','Purple','Orange'],datasets: [{
label: '# of Votes',data: [12,19,3,5,2,3],backgroundColor: [
'rgba(255,99,132,0.2)','rgba(54,162,235,'rgba(255,206,86,'rgba(75,192,'rgba(153,102,255,159,64,0.2)'
],borderColor: [
'rgba(255,1)',1)'
],borderWidth: 1
}]
},options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});
</script>
作为返回类型并以另一种方法解析该JSON字符串。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。