[hibernate-dev] Metamodel tests
Strong Liu
stliu at hibernate.org
Tue Jul 31 01:32:35 EDT 2012
I think this is resolved now, Gail, could you verify?
On Jul 31, 2012, at 1:27 PM, Gail Badner <gbadner at redhat.com> wrote:
> 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
>>
-------------------------
Best Regards,
Strong Liu <stliu at hibernate.org>
http://about.me/stliu/bio
More information about the hibernate-dev
mailing list