Strong mentioned that was fixed by HHH-7472, so I resolved HHH-6566 as a duplicate.
----- Original Message -----
From: "Strong Liu" <stliu(a)hibernate.org>
To: "Gail Badner" <gbadner(a)redhat.com>
Cc: "Steve Ebersole" <steve(a)hibernate.org>, "Hibernate
hibernate-dev" <hibernate-dev(a)lists.jboss.org>
Sent: Monday, July 30, 2012 10:32:35 PM
Subject: Re: [hibernate-dev] Metamodel tests
I think this is resolved now, Gail, could you verify?
On Jul 31, 2012, at 1:27 PM, Gail Badner < gbadner(a)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(a)hibernate.org >
To: "Strong Liu" < stliu(a)hibernate.org >
Cc: "Hibernate hibernate-dev" < hibernate-dev(a)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/b2ef3b67b2cb8a2e134bf08...
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(a)hibernate.org
<mailto:stliu@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(a)hibernate.org
<mailto:stliu@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(a)hibernate.org
<mailto:steve@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(a)hibernate.org
<mailto:stliu@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(a)hibernate.org <mailto:steve@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(a)hibernate.org <mailto:steve@hibernate.org>
http://hibernate.org <
http://hibernate.org/>
_______________________________________________
hibernate-dev mailing list
hibernate-dev(a)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
--
steve(a)hibernate.org
http://hibernate.org
--
steve(a)hibernate.org
http://hibernate.org
_______________________________________________
hibernate-dev mailing list
hibernate-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev
-------------------------
Best Regards,
Strong Liu <stliu at
hibernate.org >
http://about.me/stliu/bio