【问题标题】:Why I've got org.postgresql.util.PSQLException: ERROR: Invalid endian flag value encountered?为什么我有 org.postgresql.util.PSQLException:错误:遇到无效的字节序标志值?
【发布时间】:2019-10-03 15:23:54
【问题描述】:

我最近在使用 hibernate-spatial 5 时遇到了问题。当我尝试将几何数据添加到 Postgres 时。我在提交事务阶段遇到了下一个错误:

javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute statement] with root cause
org.postgresql.util.PSQLException: ERROR: Invalid endian flag value encountered.

我的实体看起来像这样,我已经像以前的帖子一样配置了它,但有同样的问题:

@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "geotable")
@Indexed(index = "geoindex")
public class GeoPointModel implements Serializable {

    @Id
    @GeneratedValue
    @DocumentId
    @Column(name = "point_id")
    private Long id;
    @Field(index = Index.YES, analyze = Analyze.NO, store = Store.YES)
    @FieldBridge(impl = GeoBridge.class)
    @Column(name = "location", columnDefinition = "geometry(Point,4326)")
    private Geometry location;
}

我的依赖:

dependencies {
    implementation 'org.hibernate:hibernate-core:5.4.5.Final'
    implementation 'org.hibernate:hibernate-spatial:5.4.5.Final'
    implementation 'org.springframework:spring-orm:5.1.5.RELEASE'

    compile group: 'org.springframework.boot', name: 'spring-boot-starter-jdbc', version: '2.1.8.RELEASE'
    compile group: 'org.hibernate', name: 'hibernate-search-orm', version: '5.11.3.Final'
    compile group: 'org.apache.lucene', name: 'lucene-spatial', version: '5.5.5'
    compile group: 'com.spatial4j', name: 'spatial4j', version: '0.4.1'
    compile group: 'com.vividsolutions', name: 'jts', version: '1.13'
    compile group: 'net.postgis', name: 'postgis-jdbc', version: '2.3.0'
}

方言:

dialect=org.hibernate.spatial.dialect.postgis.PostgisPG9Dialect

我失去了什么?如何解决?

【问题讨论】:

    标签: hibernate hibernate-search hibernate-spatial


    【解决方案1】:

    可能是https://hibernate.atlassian.net/browse/HHH-11086?一种解决方法似乎是使用 Point 而不是 Geometry:https://forum.hibernate.org/viewtopic.php?p=2490324&sid=36d7ee961e6ff5e45e71a8aa613cb469#p2490324

    在一个不太相关的说明中,如果您仍在尝试使用 Hibernate Search(毕竟您在这个问题中标记了它),请查看 @Spatial: https://docs.jboss.org/hibernate/search/5.11/reference/en-US/html_single/#spatial-indexing 。在您的情况下,您只需让您的 GeoPointModel 类实现 org.hibernate.search.spatial.Coordinates 并在 GeoPointModel 上添加 @Spatial(name = "location") 注释。

    【讨论】:

      猜你喜欢
      • 2020-05-09
      • 1970-01-01
      • 2013-12-03
      • 2017-04-19
      • 1970-01-01
      • 2022-01-26
      • 2022-07-31
      • 2018-03-08
      • 2017-11-30
      相关资源
      最近更新 更多