2016-06-07 15 views
6

hibernate tạo và điền cơ sở dữ liệu chính xác vào lần chạy đầu tiên. Vào lần chạy thứ hai, tôi nhận được lỗi dưới đây.Cố gắng giải quyết siêu dữ liệu khóa ngoại từ siêu dữ liệu JDBC không tìm thấy ánh xạ cột cho khóa ngoài

Hibernate 5.2.0 và Oracle 12c. Đây có phải là lỗi không? Tôi thấy hầu như không có thông tin, khi tôi google này.

@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

Tôi có cùng một vấn đề với postgresql. –

+0

Nâng cấp ngủ đông của bạn thành 5.2.2 thì sự cố của bạn sẽ được giải quyết. Có vẻ như 5.2.0 có boog. –

Trả lời

7

Hình như đây là một lỗi được giới thiệu vào Hibernate 5.2.0 - cần được cố định trong phiên bản nhỏ tiếp theo (5.2.1): https://hibernate.atlassian.net/browse/HHH-10802

+0

Có công việc nào không? – Krismorte

+2

Tôi không biết. Tuy nhiên, 5.2.1 sẽ được phát hành vào cuối tháng 6. – mkurz

3

trông giống như 5.2.0 thực sự có lỗi. Với 5.1.0 tôi không có vấn đề gì.

+1

Tương tự ở đây - trông giống như một lỗi được giới thiệu trong 5.2.0 – mkurz

+0

Ya, tôi đã tìm thấy cùng một vấn đề, tuy nhiên, tôi nâng cấp lên Hibernate 5.2.2 vấn đề được giải quyết. –

Các vấn đề liên quan