java - Hibernate Junit hsqldb - (strategy = GenerationType.AUTO) not working -


my dao layer works fine mysql. when try unit test same in memory db (hsqldb) not able persist data. entity defined follows

public class api {     @id     @column(name = "api_id")     @generatedvalue(strategy = generationtype.auto)     private int apiid; 

when trying persist id not auto generated. passed null.

18:05:52.071 [main] debug org.hibernate.sql - insert api (api_id, description, version) values (null, ?, ?) 18:05:52.076 [main] debug o.h.e.jdbc.spi.sqlexceptionhelper - not prepare statement [insert api (api_id, description, name) values (null, ?, ?)] 

my hibernate properties

    properties properties = new properties();     properties.setproperty(apiconstants.hibernate_dialect, "org.hibernate.dialect.hsqldialect");     properties.setproperty(apiconstants.hibernate_driver_class, "org.hsqldb.jdbcdriver");     properties.setproperty(apiconstants.hibernate_conn_url, "jdbc:hsqldb:mem:apicloud");     properties.setproperty(apiconstants.hibernate_conn_user, "sa");     properties.setproperty(apiconstants.hibernate_conn_pwd, "");     properties.setproperty("hibernate.archive.autodetection", "class,hbm");     properties.setproperty("hibernate.hbm2ddl.auto", "create-drop");     properties.setproperty("hibernate.show_sql", "true"); 

schema created every time unit test triggered. create statement issued follows.

18:05:51.995 [main] debug org.hibernate.sql - create table api  (api_id integer generated default identity (start 1), description varchar(255), version varchar(255), primary key (api_id)) 

let me know if missing something.

the problem got solved when updated hsqldb version 2.2.9.

https://forum.hibernate.org/viewtopic.php?f=1&t=1043498&p=2490106#p2490106

pradeep.


Comments