Как заставить hibernate 3.5.6-Final и в памяти hsqldb 2.0.0 работать вместе? - PullRequest
3 голосов
/ 24 ноября 2011

После обновления зависимости hsqldb в pom.xml с 1.8.x до 2.0.0+ я начал получать эту ошибку:

org.hsqldb.HsqlException: length must be specified in type definition: VARCHAR

Очевидно, что Hibernate сгенерировал неверное выражение CREATE TABLE в соответствии с требованиями HSQLDB 2.Должен ли я использовать другую версию Hibernate?Который из?(Тем не менее, я бы предпочел придерживаться пока 3.5.6).Или, может быть, есть способ использовать HSQLDB 2 в режиме обратной совместимости?

Спасибо.

Ответы [ 2 ]

6 голосов
/ 24 ноября 2011

Я предлагаю вам использовать последнюю версию HSQLDB 2.2.6 для Maven.

Вы можете переопределить принудительное использование размера VARCHAR, используя URL-адрес, такой как

jdbc:hsqldb:mem:test;sql.enforce_size=false 

.совместимость может быть достигнута с использованием более новой версии HSQLDialect.java из серии Hibernate 3.6.x.Или просто обновите до последней версии 3.6.8

0 голосов
/ 22 октября 2018

Я бы хотел ответить на ошибку

org.hsqldb.HsqlException: length must be specified in type definition: VARCHAR

, поскольку ошибка говорит нам, что мы используем NVARCHAR или VARCHAR в выражении SQL без указания длины

, поэтому убедитесь, что вы указали длину для своего столбца, например NVARCHAR(255)

надеюсь, это поможет вам

...