【问题标题】:Hibernate JPA Modelgen not generating geometry fieldsHibernate JPA Modelgen不生成几何字段
【发布时间】:2017-09-29 16:11:49
【问题描述】:

我正在开发一个 Spring-boot、maven 项目,在该项目中我使用休眠、静态元模型和(org.springframework.data.jpa.domain.)规范查询 MySQL 数据库。我的元模型由 Hibernate JPA 2 元模型生成器自动生成。我正在为我的空间字段使用 com.vividsolutions.jts.geom 类。

我现在正在努力将这些几何字段包含在我的元模型中,因为元模型生成器似乎忽略了这些。在没有任何重大变化的情况下,是否有任何解决方法?据我了解,我的配置应该可以工作。

更多信息:

休眠方言:org.hibernate.spatial.dialect.mysql.MySQL5InnoDBSpatialDialect

波姆:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-jpamodelgen</artifactId>
    <optional>true</optional>
    <version>5.2.10.Final</version>
</dependency>

Java 1.8 版

注释处理在我的 IDE (Eclipse) 中处理

在我的实体中,几何字段是这样定义的

@Column(name="POLYGON", columnDefinition="Geometry")
private Polygon polygon;

我们将不胜感激任何正确方向的指导。

【问题讨论】:

    标签: java mysql hibernate jpa jpamodelgen


    【解决方案1】:

    在 Hibernate 5.3.10 中,添加 @Basic 注释可以解决问题,同时将 @Access(AccessType.FIELD) 添加到类中。如果没有 Access 注释,几何类型将不会出现在 JPA 元模型中。

    【讨论】:

      【解决方案2】:

      我在我的项目中遇到了同样的问题,我使用 JPA 自定义查询解决了这个问题。在查询添加功能中 - "GeomFromText('POLYGON((0 0,10 0,10 10, 0 10,0 0),(5 5,7 5,7 7,5 7, 5 5))')" -> https://dev.mysql.com/doc/refman/5.6/en/populating-spatial-columns.html 然后就成功了。

      【讨论】:

      • 嗨,欢迎来到 Stack Overflow。虽然始终欢迎提供有用的外部资源的链接,但也请引用您要链接到的页面的关键摘录。这样,如果网站出现故障或页面被(重新)移动,那么这个答案不会变得无用。
      • 问题不在于我的几何字段本身没有添加到我的数据库中。问题是它们没有添加到我的元模型中,因此我无法使用 JPA 类型安全规范系统查询它们。
      猜你喜欢
      • 1970-01-01
      • 2021-12-14
      • 2017-11-03
      • 2012-07-05
      • 2021-11-11
      • 2013-03-18
      • 1970-01-01
      • 2011-01-18
      • 1970-01-01
      相关资源
      最近更新 更多