[hibernate-dev] Trying Hibernate 5.0.0.Beta2

Steve Ebersole steve at hibernate.org
Tue May 5 09:17:55 EDT 2015


Petar, I have just been focusing on other things the past 3 days or so.
Chill :)

I will look at this this week.  If you happen to have a chance to debug it
any further by then, that would rock.  FWIW, I do not think it is in any
way related to the duplicate secondary table warnings.  Those are
completely harmless I believe.  The FK naming logic has changed quite a bit
from pre-5.0 versions, my guess is that the issue lies there.  That or in
the logic to read existing FKs.

On Tue, May 5, 2015 at 3:19 AM, Petar Tahchiev <paranoiabla at gmail.com>
wrote:

> Any of you have seen this issue? Shall I open a ticket?
>
> 2015-05-04 0:03 GMT+03:00 Petar Tahchiev <paranoiabla at gmail.com>:
>
> > Hi guys,
> >
> > I finally managed to reproduce it - here's a small application that will
> > generate the provided exception:
> >
> > https://github.com/paranoiabla/hibernate-hsql-issue
> >
> > Please notice that it works fine with Hibernate 4.3.x  I think it has to
> > do something with the CommerceCustomerModel - If I remove it or remove
> the
> > collection of payment infos that is inside of it, it all starts to work
> > fine.
> >
> > Please have a look and thanks a lot for your efforts :)
> >
> >
> >
> >
> > 2015-05-03 1:13 GMT+03:00 Petar Tahchiev <paranoiabla at gmail.com>:
> >
> >> Hi guys,
> >>
> >> I just tried hibernate 5.0 beta2 and here's my observations. First of
> all
> >> the foreign key problems I had before seems to be resolved, however I
> see
> >> the following error when executing tests with HSQL:
> >>
> >>
> >> Caused by: org.springframework.beans.factory.BeanCreationException:
> Error
> >> creating bean with name 'defaultEntityManagerFactory' defined in class
> path
> >> resource
> [com/nemesis/platform/core/config/PlatformCoreTestConfig.class]:
> >> Invocation of init method failed; nested exception is
> >> javax.persistence.PersistenceException: [PersistenceUnit: default]
> Unable
> >> to build Hibernate SessionFactory
> >>     at
> >>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578)
> >>     at
> >>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
> >>     at
> >>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
> >>     at
> >>
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)
> >>     at
> >>
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
> >>     at
> >>
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
> >>     at
> >>
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
> >>     at
> >>
> org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1011)
> >>     at
> >>
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:802)
> >>     at
> >>
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:521)
> >>     at
> >>
> org.springframework.boot.SpringApplication.refresh(SpringApplication.java:687)
> >>     at
> >>
> org.springframework.boot.SpringApplication.run(SpringApplication.java:321)
> >>     at
> >>
> org.springframework.boot.test.SpringApplicationContextLoader.loadContext(SpringApplicationContextLoader.java:100)
> >>     at
> >>
> org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:98)
> >>     at
> >>
> org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:116)
> >>     ... 36 more
> >> Caused by: javax.persistence.PersistenceException: [PersistenceUnit:
> >> default] Unable to build Hibernate SessionFactory
> >>     at
> >>
> org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:874)
> >>     at
> >>
> org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:802)
> >>     at
> >>
> org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:60)
> >>     at
> >>
> org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:343)
> >>     at
> >>
> org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:318)
> >>     at
> >>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637)
> >>     at
> >>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574)
> >>     ... 50 more
> >> Caused by: org.hibernate.tool.schema.spi.SchemaManagementException:
> >> Unable to execute schema management to JDBC target [alter table
> >> payment_info add constraint FKs9wud9nve6s9cbot5p4548jyh foreign key
> >> (user_pk) references principal]
> >>     at
> >>
> org.hibernate.tool.schema.internal.TargetDatabaseImpl.accept(TargetDatabaseImpl.java:75)
> >>     at
> >>
> org.hibernate.tool.schema.internal.SchemaMigratorImpl.applySqlString(SchemaMigratorImpl.java:349)
> >>     at
> >>
> org.hibernate.tool.schema.internal.SchemaMigratorImpl.applySqlStrings(SchemaMigratorImpl.java:338)
> >>     at
> >>
> org.hibernate.tool.schema.internal.SchemaMigratorImpl.applyForeignKeys(SchemaMigratorImpl.java:303)
> >>     at
> >>
> org.hibernate.tool.schema.internal.SchemaMigratorImpl.doMigrationToTargets(SchemaMigratorImpl.java:135)
> >>     at
> >>
> org.hibernate.tool.schema.internal.SchemaMigratorImpl.doMigration(SchemaMigratorImpl.java:76)
> >>     at
> >> org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:146)
> >>     at
> >> org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:114)
> >>     at
> >>
> org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:461)
> >>     at
> >>
> org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:462)
> >>     at
> >>
> org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:799)
> >>     ... 55 more
> >> Caused by: java.sql.SQLSyntaxErrorException: object name already exists:
> >> FKS9WUD9NVE6S9CBOT5P4548JYH in statement [alter table payment_info add
> >> constraint FKs9wud9nve6s9cbot5p4548jyh foreign key (user_pk) references
> >> principal]
> >>     at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
> >>     at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
> >>     at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
> >>     at org.hsqldb.jdbc.JDBCStatement.executeUpdate(Unknown Source)
> >>     at
> >>
> com.zaxxer.hikari.proxy.StatementProxy.executeUpdate(StatementProxy.java:108)
> >>     at
> >>
> com.zaxxer.hikari.proxy.StatementJavassistProxy.executeUpdate(StatementJavassistProxy.java)
> >>     at
> >>
> org.hibernate.tool.schema.internal.TargetDatabaseImpl.accept(TargetDatabaseImpl.java:72)
> >>     ... 65 more
> >> Caused by: org.hsqldb.HsqlException: object name already exists:
> >> FKS9WUD9NVE6S9CBOT5P4548JYH
> >>     at org.hsqldb.error.Error.error(Unknown Source)
> >>     at org.hsqldb.error.Error.error(Unknown Source)
> >>     at org.hsqldb.SchemaObjectSet.checkAdd(Unknown Source)
> >>     at org.hsqldb.SchemaManager.checkSchemaObjectNotExists(Unknown
> Source)
> >>     at org.hsqldb.TableWorks.checkCreateForeignKey(Unknown Source)
> >>     at org.hsqldb.TableWorks.addForeignKey(Unknown Source)
> >>     at org.hsqldb.StatementSchema.getResult(Unknown Source)
> >>     at org.hsqldb.StatementSchema.execute(Unknown Source)
> >>     at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
> >>     at org.hsqldb.Session.executeDirectStatement(Unknown Source)
> >>     at org.hsqldb.Session.execute(Unknown Source)
> >>     ... 70 more
> >>
> >>
> >> When running it with mysql it doesn't show this error (very strange) so
> I
> >> tried to export the schema to sql file and I can see only one foregin
> key
> >> declaration:
> >>
> >>     alter table payment_info
> >>         add constraint FKs9wud9nve6s9cbot5p4548jyh
> >>         foreign key (user_pk)
> >>         references principal (pk);
> >>
> >> Notice that this time it is lowercase. I'm trying to debug the hsql but
> >> it is very hard as it doesn't stop on any of the breakpoints I add. If
> any
> >> of you have an idea what might be causing it, please share your
> thoughts,
> >> if not I'll let you know how I progress.
> >>
> >> I wonder if it could be related to the duplicate joins warnings I see:
> >> WARN : HHH000072: Duplicate joins for class:
> >> com.nemesis.platform.core.model.media.MediaModel
> >> WARN : HHH000072: Duplicate joins for class:
> >>
> com.nemesis.platform.module.commerce.core.model.order.TerritoryDeliveryModeValueModel
> >> WARN : HHH000072: Duplicate joins for class:
> >> com.nemesis.platform.core.model.cms.AbstractPageModel
> >> WARN : HHH000072: Duplicate joins for class:
> >> com.nemesis.platform.core.model.cms.EmailPageModel
> >> WARN : HHH000072: Duplicate joins for class:
> >> com.nemesis.platform.core.model.cms.CategoryPageModel
> >> .....
> >>
> >> --
> >> Regards, Petar!
> >> Karlovo, Bulgaria.
> >> ---
> >> Public PGP Key at:
> >>
> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
> >> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
> >>
> >
> >
> >
> > --
> > Regards, Petar!
> > Karlovo, Bulgaria.
> > ---
> > Public PGP Key at:
> >
> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
> > Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
> >
>
>
>
> --
> Regards, Petar!
> Karlovo, Bulgaria.
> ---
> Public PGP Key at:
> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
> _______________________________________________
> 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