This is due to HHH-6566 (Create and drop SQL is not exported for PersistentIdentifierGenerator objects).
----- Original Message ----- > From: "Steve Ebersole" <st...@hibernate.org> > To: "Strong Liu" <st...@hibernate.org> > Cc: "Hibernate hibernate-dev" <hibernate-dev@lists.jboss.org> > Sent: Sunday, July 29, 2012 3:11:00 PM > Subject: Re: [hibernate-dev] Metamodel tests > > For what its worth... I tried adding this for y'all before I left, > but > it actually does not at all affect the tests. Not sure what tests > you > saw failing because the id sequence/table is not there, but I tried a > few tests that use sequences and they all fail trying to build the > MetaData object. If tests are failing because the sequences do not > get > exported to the database, the failures would be well after than point > trying to issues SQL against the database. > > Anyway I pushed the code that adds this to SchemaExport: > https://github.com/hibernate/hibernate-orm/commit/b2ef3b67b2cb8a2e134bf08e267c29e78335650b > > I'll hook in the new schema management tool service when i get back. > > > On 07/29/2012 03:38 PM, Steve Ebersole wrote: > > Just a reminder that I am on vacation this next week. > > > > If you want this in the meantime, you just need to alter the > > org.hibernate.metamodel.spi.relational.Database#generateSchemaCreationScript > > and > > org.hibernate.metamodel.spi.relational.Database#generateDropSchemaScript > > methods. There is a > > org.hibernate.metamodel.spi.relational.Schema#sequences collection, > > but > > they wont be populated using this > > generateSchemaCreationScript/generateDropSchemaScript approach, so > > in > > there you will need a way to find all persistent identifier > > generators > > (please DO NOT collect them on Database/Schema) and handle it. > > > > Those methods will go away when I fully hook up the schema > > management > > tools (they are only used from SchemaExport) so don't worry about > > breaking the schema management tool code. And the new code will > > add > > sequences and tables from persistent identifier generator as we > > discover > > them (not coded yet) > > > > Or just wait till I get back.. > > > > On 07/29/2012 01:35 PM, Steve Ebersole wrote: > >> > >> Yep I have not hooked my new schema management tool stuff into > >> metamodel creation yet. > >> > >> On Jul 29, 2012 1:24 PM, "Strong Liu" <st...@hibernate.org > >> <mailto:st...@hibernate.org>> wrote: > >> > >> btw, some tests are failing due to the identifier generator > >> required sequence are not created. > >> > >> org.hibernate.id.PersistentIdentifierGenerator#sqlCreateStrings > >> is > >> never get called > >> > >> (yes, i see there is > >> a org.hibernate.id.SequenceGenerator#registerExportables) > >> > >> > >> and others are failing with stacktrace: > >> > >> javax.persistence.PersistenceException: [PersistenceUnit: > >> FlushAndTransactionTest] Unable to build Hibernate > >> SessionFactory > >> at > >> > >> org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:973) > >> at > >> > >> org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.buildEntityManagerFactory(EntityManagerFactoryBuilderImpl.java:782) > >> at > >> > >> org.hibernate.jpa.test.BaseEntityManagerFunctionalTestCase.buildEntityManagerFactory(BaseEntityManagerFunctionalTestCase.java:93) > >> at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown > >> Source) > >> at > >> > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > >> at java.lang.reflect.Method.invoke(Method.java:601) > >> at > >> > >> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) > >> at > >> > >> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > >> at > >> > >> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) > >> at > >> > >> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27) > >> at > >> > >> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30) > >> at > >> > >> org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:62) > >> Caused by: org.hibernate.MappingException: Could not > >> instantiate id generator > >> [entity-name=org.hibernate.jpa.test.transaction.Book] > >> at > >> > >> org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.createIdentifierGenerator(DefaultIdentifierGeneratorFactory.java:123) > >> at > >> > >> org.hibernate.mapping.SimpleValue.createIdentifierGenerator(SimpleValue.java:219) > >> at > >> > >> org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:359) > >> at > >> > >> org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1748) > >> at > >> > >> org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.buildEntityManagerFactory(EntityManagerFactoryBuilderImpl.java:779) > >> ... 10 more > >> Caused by: java.lang.NullPointerException > >> at > >> > >> org.hibernate.id.enhanced.TableGenerator.determineGeneratorTableName(TableGenerator.java:353) > >> at > >> > >> org.hibernate.id.enhanced.TableGenerator.configure(TableGenerator.java:299) > >> at > >> > >> org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.createIdentifierGenerator(DefaultIdentifierGeneratorFactory.java:117) > >> ... 14 more > >> > >> > >> > >> On Jul 30, 2012, at 1:34 AM, Strong Liu <st...@hibernate.org > >> <mailto:st...@hibernate.org>> wrote: > >> > >>> I was not aware of that, the root issue is > >>> > >>> "org.hibernate.metamodel.internal.source.annotations.attribute.Column#name" > >>> has a default empty string value. > >>> > >>> > >>> On Jul 30, 2012, at 1:30 AM, Steve Ebersole > >>> <st...@hibernate.org > >>> <mailto:st...@hibernate.org>> wrote: > >>> > >>>> Hadn't we all agreed though that the convention was for > >>>> sources > >>>> to return null and not empty strings? > >>>> > >>>> On Jul 29, 2012 11:11 AM, "Strong Liu" <st...@hibernate.org > >>>> <mailto:st...@hibernate.org>> wrote: > >>>> > >>>> https://hibernate.onjira.com/browse/HHH-7480 > >>>> > >>>> don't know which change caused this, but it is fixed now > >>>> > >>>> On Jul 28, 2012, at 10:27 AM, Steve Ebersole > >>>> <st...@hibernate.org <mailto:st...@hibernate.org>> > >>>> wrote: > >>>> > >>>>> Not sure if the expectation at this point is that all > >>>>> tests > >>>>> on the > >>>>> metamodel branch pass when > >>>>> hibernate.test.new_metadata_mappings is set > >>>>> to true or not. That was supposed to be the idea with > >>>>> the new > >>>>> @FailureExpectedWithNewMetamodel annotation which I see > >>>>> is > >>>>> in place now. > >>>>> But I am still seeing failures. Yes I have local > >>>>> changes > >>>>> here, but > >>>>> there is no way my changes can be causing these: > >>>>> > >>>>> > >>>>> Test > >>>>> > >>>>> org.hibernate.metamodel.internal.source.annotations.entity.TableNameTest > >>>>> > >>>>> FAILED > >>>>> Test > >>>>> > >>>>> org.hibernate.metamodel.internal.source.annotations.entity.AccessBindingTest > >>>>> > >>>>> FAILED > >>>>> Test > >>>>> > >>>>> org.hibernate.metamodel.internal.source.annotations.entity.InheritanceBindingTest > >>>>> > >>>>> FAILED > >>>>> > >>>>> > >>>>> The failures in all cases is from attempt to bind the > >>>>> discriminator from > >>>>> annotations. As far as I can tell the cause is that > >>>>> annotation sources > >>>>> are returning empty string for that column name rather > >>>>> than > >>>>> null. > >>>>> > >>>>> But either way, nothing to do with my changes. So I am > >>>>> going to go > >>>>> ahead and push my changes > >>>>> > >>>>> > >>>>> > >>>>> -- > >>>>> st...@hibernate.org <mailto:st...@hibernate.org> > >>>>> http://hibernate.org <http://hibernate.org/> > >>>>> _______________________________________________ > >>>>> hibernate-dev mailing list > >>>>> hibernate-dev@lists.jboss.org > >>>>> <mailto:hibernate-dev@lists.jboss.org> > >>>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev > >>>> > >>>> ------------------------- > >>>> Best Regards, > >>>> > >>>> Strong Liu <stliu at hibernate.org > >>>> <http://hibernate.org/>> > >>>> http://about.me/stliu/bio > >>>> > >>> > >>> ------------------------- > >>> Best Regards, > >>> > >>> Strong Liu <stliu at hibernate.org <http://hibernate.org/>> > >>> http://about.me/stliu/bio > >>> > >> > >> ------------------------- > >> Best Regards, > >> > >> Strong Liu <stliu at hibernate.org <http://hibernate.org/>> > >> http://about.me/stliu/bio > >> > > > > > > -- > > st...@hibernate.org > > http://hibernate.org > > > > -- > st...@hibernate.org > http://hibernate.org > _______________________________________________ > hibernate-dev mailing list > hibernate-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/hibernate-dev > _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev