PostgisDialect与PostgreSQLDialect或两者兼而有之?

时间:2014-05-30 13:10:54

标签: hibernate postgresql jpa postgis hibernate-spatial

我的应用程序将使用以下技术:

  • PostgreSQL的
  • POSTGIS
  • JPA /休眠
  • 弹簧
  • Spring Data JPA

我理解(来自Hibernate Spatial文档)必须使用以下方言:org.hibernate.spatial.dialect.postgis.PostgisDialect

我不明白的是上述方言如何与标准的Posgresql方言有关,即org.hibernate.dialect.PostgreSQLDialect ...

Postgis方言是标准Posgresql方言的超集吗?

Postgis方言中是否可以使用最新标准Posgresql方言的所有功能?

我想我不能在同一个entityManager工厂上使用多个/多个方言......那么最好的做法是什么来充分利用这两种方言呢?

1 个答案:

答案 0 :(得分:4)

PostgisDialect实际上扩展了Postgresql方言,所以,是的,它是一个超集。请参阅课程声明:PostgisDialect class declaration

这里有一个很好的教程:Hibernate spatial with Postgis表明你只需要包含Postgis Dialect就可以保留空间和非空间字段。

Postgis primary在Postgresql之上提供对空间对象的支持。 Postgis安装还包括GEOS(Java拓扑套件的C ++端口),它提供了许多实际的几何函数,Proj4,它支持不同的坐标系统/投影和GDAL,它是各种地理数据格式之间的转换实用程序。 / p>