[hibernate-dev] Metamodel tests
Gail Badner
gbadner at redhat.com
Tue Jul 31 01:27:57 EDT 2012
This is due to HHH-6566 (Create and drop SQL is not exported for PersistentIdentifierGenerator objects).
----- Original Message -----
> From: "Steve Ebersole" <steve at hibernate.org>
> To: "Strong Liu" <stliu at hibernate.org>
> Cc: "Hibernate hibernate-dev" <hibernate-dev at 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" <stliu at hibernate.org
> >> <mailto:stliu at 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 <stliu at hibernate.org
> >> <mailto:stliu at 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
> >>> <steve at hibernate.org
> >>> <mailto:steve at 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" <stliu at hibernate.org
> >>>> <mailto:stliu at 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
> >>>> <steve at hibernate.org <mailto:steve at 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
> >>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> steve at hibernate.org <mailto:steve at hibernate.org>
> >>>>> http://hibernate.org <http://hibernate.org/>
> >>>>> _______________________________________________
> >>>>> hibernate-dev mailing list
> >>>>> hibernate-dev at lists.jboss.org
> >>>>> <mailto:hibernate-dev at 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
> >>
> >
> >
> > --
> > steve at hibernate.org
> > http://hibernate.org
> >
>
> --
> steve at hibernate.org
> http://hibernate.org
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>
More information about the hibernate-dev
mailing list