2016-06-07 38 views
6

Hibernacja tworzy i poprawnie wypełnia bazę danych przy pierwszym uruchomieniu. Przy drugim uruchomieniu dostaję poniżej błędu.Próba rozwiązania metadanych klucza obcego z metadanych JDBC nie może znaleźć odwzorowań kolumn dla klucza obcego

Hibernate 5.2.0 i Oracle 12c. Czy to błąd? Nie znajduję prawie żadnych informacji, kiedy google to.

@ManyToOne 
    @JoinColumn(name="fk_report") 
    @ForeignKey(name="fk_report") 
    private Report report; 

StackTrace:

Initial SessionFactory creation failed.org.hibernate.tool.schema.spi.SchemaManagementException: Attempt to resolve foreign key metadata from JDBC metadata failed to find column mappings for foreign key named [FK_REPORT] 
Exception in thread "main" java.lang.ExceptionInInitializerError 
    at bo.agi.config.HibernateUtil.buildSessionFactory(HibernateUtil.java:30) 
    at bo.agi.config.HibernateUtil.<clinit>(HibernateUtil.java:12) 
    at bo.agi.documentation.ReportDocumenter.doReportDocumentation(ReportDocumenter.java:124) 
    at bo.agi.documentation.BO_Exporter.main(BO_Exporter.java:237) 
Caused by: org.hibernate.tool.schema.spi.SchemaManagementException: Attempt to resolve foreign key metadata from JDBC metadata failed to find column mappings for foreign key named [FK_REPORT] 
    at org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl$ForeignKeyBuilderImpl.build(InformationExtractorJdbcDatabaseMetaDataImpl.java:727) 
    at org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl$ForeignKeyBuilderImpl.build(InformationExtractorJdbcDatabaseMetaDataImpl.java:708) 
    at org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl.getForeignKeys(InformationExtractorJdbcDatabaseMetaDataImpl.java:691) 
    at org.hibernate.tool.schema.extract.internal.TableInformationImpl.foreignKeys(TableInformationImpl.java:88) 
    at org.hibernate.tool.schema.extract.internal.TableInformationImpl.getForeignKey(TableInformationImpl.java:99) 
    at org.hibernate.tool.schema.internal.SchemaMigratorImpl.findMatchingForeignKey(SchemaMigratorImpl.java:530) 
    at org.hibernate.tool.schema.internal.SchemaMigratorImpl.applyForeignKeys(SchemaMigratorImpl.java:506) 
    at org.hibernate.tool.schema.internal.SchemaMigratorImpl.performMigration(SchemaMigratorImpl.java:315) 
    at org.hibernate.tool.schema.internal.SchemaMigratorImpl.doMigration(SchemaMigratorImpl.java:137) 
    at org.hibernate.tool.schema.internal.SchemaMigratorImpl.doMigration(SchemaMigratorImpl.java:110) 
    at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:176) 
    at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:65) 
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:308) 
    at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:476) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:707) 
    at bo.agi.config.H 

ibernateUtil.buildSessionFactory (HibernateUtil.java:27)

+0

Mam ten sam problem z PostgreSQL. –

+0

Uaktualnij hibernację do wersji 5.2.2, a problem zostanie rozwiązany. Wydaje się, że 5.2.0 ma boog. –

Odpowiedz

3

wygląda 5.2.0 ma rzeczywiście błąd. W wersji 5.1.0 nie mam problemu.

+1

samo tutaj - wygląda błędu wprowadzonego w 5.2.0 – mkurz

+0

Ya, Znalazłem ten sam problem, ale ja zmodernizowane Hibernate 5.2.2 problem został rozwiązany. –