[hibernate-dev] Metamodel tests

Strong Liu stliu at hibernate.org
Sun Jul 29 14:24:33 EDT 2012


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> 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> 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> 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> 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
>>> 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
>> 
> 
> -------------------------
> Best Regards,
> 
> Strong Liu <stliu at hibernate.org>
> http://about.me/stliu/bio
> 

-------------------------
Best Regards,

Strong Liu <stliu at hibernate.org>
http://about.me/stliu/bio



More information about the hibernate-dev mailing list