2016-06-07 10 views
6

Hibernation erstellt und füllt die Datenbank beim ersten Ausführen korrekt. Beim zweiten Durchlauf bekomme ich unter Fehler.Der Versuch, Fremdschlüsselmetadaten aus JDBC-Metadaten aufzulösen, konnte keine Spaltenzuordnungen für Fremdschlüssel finden.

Hibernate 5.2.0 und Oracle 12c. Ist das ein Fehler? Ich finde fast keine Informationen, wenn ich das google.

@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

Ich habe das gleiche Problem mit postgresql. –

+0

Aktualisieren Sie Ihren Ruhezustand in 5.2.2, dann wird Ihr Problem gelöst. Es scheint, dass die 5.2.0 Boog hat. –

Antwort

3

sieht aus wie 5.2.0 in der Tat einen Fehler hat. Mit 5.1.0 habe ich kein Problem.

+1

Das gleiche hier - sieht aus wie ein Fehler in 5.2.0 eingeführt – mkurz

+0

Ya, ich habe das gleiche Problem gefunden, jedoch habe ich in Hibernate 5.2.2 aktualisiert das Problem ist gelöst. –