Я пытаюсь добавить Point к объекту домена в Grails 3.3.8 (текущий последний выпуск). Grails 3.3.8 использует Hibernate 5.1.5, который поддерживает hibernate-пространственный.
В build.gradle:
compile group: 'org.hibernate', name: 'hibernate-spatial', version: '5.1.5.Final'
compile group: 'com.vividsolutions', name: 'jts', version: '1.13'
В конфигурации:
driverClassName = 'com.microsoft.sqlserver.jdbc.SQLServerDriver'
dialect = 'org.hibernate.dialect.SqlServer2008SpatialDialect'
В домене, PointTest.groovy:
package com.test
import com.vividsolutions.jts.geom.Point
class PointTest {
Point coords
static constraints = {
}
static mapping = {
coords sqlType: 'geometry(Point,4326)'
}
}
Из того, что я могу сказать из этого поста о переполнении стека , вышеприведенное должно работать. Но когда я запускаю проект Grails, таблица не создается. Если я удаляю строку из mapping
, таблица создается, но coords
имеет неправильный тип, varbinary(255)
.
Java-версия: 8
Grails версия: 3.3.8
Версия базы данных: SQL Server 2017