我使用springboot 2.1并为orm使用最新的休眠版本。 当我想将数据持久保存到数据库时,出现此错误:
数据截断:无法从发送到GEOMETRY字段的数据中获取几何对象
@Data
@Entity
@EntityListeners(AuditingEntityListener.class)
public class Province {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Long Id;
String name;
@Column(nullable = false, columnDefinition = "MultiPolygon")
MultiPolygon multiPolygon;
}
我认为问题出在我方。
server:
port: 8080
logging:
level:
com.mousavi007.serverhavadan: debug
spring:
mail:
host: smtp.gmail.com
port: 587
username:********
password: ******
properties:
mail:
smtp:
auth: true
starttls:
enable: true
protocol: smtp
default-encoding: utf-8
datasource:
url: jdbc:mysql://localhost:3306/havadan
username: *************
password: *************
platform: mysql
jpa:
hibernate:
ddl-auto: update
database-platform: org.hibernate.dialect.MySQL8Dialect
database: mysql
show-sql: true
使用最新版本的hibernate的mysql 8的空间方向是什么?
答案 0 :(得分:1)
请使用
org.hibernate.spatial.dialect.mysql.MySQL8SpatialDialect
答案 1 :(得分:1)
您应该使用org.hibernate.spatial.dialect.mysql.MySQL8SpatialDialect
并使用正确的几何类型(在这种情况下为org.locationtech.jts.geom.MultiPolygon
)。不需要@Column
字段上方的MultiPolygon
注释。
查看更多:https://docs.jboss.org/hibernate/orm/5.4/userguide/html_single/Hibernate_User_Guide.html#spatial