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
Post a Comment