次の簡単なテストはエラーを返します
CREATE TABLE track (
position point NOT NULL
);
INSERT INTO track VALUES (
position=ST_PointFromText('POINT(-45.62390335574153 -3.9551761173743847)')
);
エラー:
エラー1416(22003):GEOMETRYフィールドに送信したデータからジオメトリオブジェクトを取得できません
何が悪いのですか?
間違った構文...代わりに
INSERT INTO track VALUES (
position=ST_PointFromText(...)
);
使用する
INSERT INTO track SET
position=ST_PointFromText(...);
Spring Boot data JPAとMySQLを使用しています。
春のブートapplication.propertiesに以下のプロパティを追加してください
spring.jpa.properties.hibernate.dialect = org.hibernate.spatial.dialect.mysql.MySQL5InnoDBSpatialDialect
spring.jpa.database-platform = org.hibernate.spatial.dialect.mysql.MySQL5InnoDBSpatialDialect
ポイント列の保存に成功しました
Hibernate: select max(id) from shoplocation
Hibernate: insert into shoplocation (address, area, geo_location, id) values (?, ?, ?, ?)
Spring Boot 1.5.9、Hibernate 5.2、MySQL 5.6を使用しています