我正在将我的应用程序从Hibernate 3迁移到Hibernate 5.我们使用DatabaseMetadata
类来获取TableMetadata
。因此,使用TableMetadata
对象获取DB表列信息,如列大小,类型..etc。似乎在Hibernate 5 DatabaseMetadata
类中已被弃用(已删除!)。 Hibernate 5中有DatabaseMetadata
类的替代品吗?或者如何在Hibernate 5环境中获取TableMetadata
?
答案 0 :(得分:4)
随着我们转向图式化工具的新方法,它在5.0中被删除了。 DatabaseMetadata表示来自底层数据库的现有目录/架构信息。在5.0中,该角色由org.hibernate.tool.schema.extract.spi.DatabaseInformation
提供。实际上支持它(以及它之前的DatabaseMetadata)仅用于模式验证和模式迁移(更新)代码。它被传递给那些调用。我假设你使用这是一种不同的方式。这不一定得到支持,但如果你想继续这样做,你只需要实例化一个org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl
实例。