2016-06-07 4 views
6

hibernate создает и правильно заполняет базу данных при первом запуске. На втором запуске я попал ниже ошибки.Попытка разрешить метаданные внешнего ключа из метаданных JDBC не удалось найти сопоставления столбцов для внешнего ключа

Hibernate 5.2.0 и Oracle 12c. Это ошибка? Я не нахожу практически никакой информации, когда я это делаю.

@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

У меня такая же проблема с PostgreSQL. –

+0

Обновите свой спящий режим в 5.2.2, тогда ваша проблема будет решена. Кажется, 5.2.0 имеет бог. –

ответ

7

Похоже, это ошибка введена в Hibernate 5.2.0 - которая должна быть исправлена ​​в следующей версии малой (5.2.1): https://hibernate.atlassian.net/browse/HHH-10802

+0

Есть какая-нибудь работа вокруг? – Krismorte

+2

Не знаю. Однако 5.2.1 должен быть выпущен в конце июня. – mkurz

3

выглядит 5.2.0 действительно ошибка. С 5.1.0 У меня нет проблем.

+1

То же самое - выглядит как ошибка, введенная в 5.2.0 – mkurz

+0

Я, я нашел ту же проблему, однако, я обновился до Hibernate 5.2.2, проблема решена. –