java - Hibernate: hbm2ddl doesn't set sequence.nextval as column default -
i'm running problem mapping sequences column's default while using hibernate's hbm2ddl generate database schema. after using hbm2ddl on fresh database generated sql doesn't set default value on table. causes problems when using other hibernate issue insert statements.
the following java code details troublesome entity:
@entity @table(name = "role") public class role { @id @column(name = "role_id") @generatedvalue(strategy = generationtype.sequence, generator = "seq") @sequencegenerator( name = "seq", sequencename = "seq_role_id", allocationsize=1, initialvalue=1) public integer getroleid() { return roleid; } ... }
the above generates following sql in following order:
create table role (role_id integer not null, primary key (role_id)) create sequence seq_role_id
issuing insert through hibernate works you'd expect issuing insert through sql (e.g., insert "role" (name) values ('admin');
) results in null not allowed column "role_id"
error message.
is there anyway can hbm2ddl generate following sql in following order?
create sequence seq_role_id create table role (role_id number default seq_role_id.nextval);
i using 4.0.1.final version of hibernate , h2 database.
Comments
Post a Comment