In Hibernate 4.x, specifically 4.3.11
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
<property name="javax.persistence.jdbc.url" value="jdbc:h2:mem:unittests" />
Hibernate: create table dbo.office (officeid bigint generated by default as identity, office varchar(255) not null, description varchar(255), sequence varchar(255), orgid bigint not null, primary key (officeid))
create table dbo.office (officeid bigint not null, office varchar(255) not null, description varchar(255), sequence varchar(255), orgid bigint not null, primary key (officeid))
create sequence hibernate_sequence start with 1 increment by 1
I have confirmed the dialect values are sensible. The error seems to be inside / around the SessionFactoryImpl's identifierGenerators. While the dialect indicates Identity generation, the generator seems to be a result of DefaultIdentifierGeneratorFactory, which produces sequence based ids. Specifically the metadata.getEntityBindings() returns a PersistentClass model where the identifier is a SimpleValue whose identifierGenerator is a SequenceStyleGenerator This can be backtracked to:
private MetadataImplementor metadata() {
if ( this.metadata == null ) {
this.metadata = MetadataBuildingProcess.complete( managedResources, metamodelBuilder.getMetadataBuildingOptions() );
}
return metadata;
}
This is not related to:
|