迁移到休眠 5.x

Migrating to Hibernate 5.x

我正在将我的应用程序从 Hibernate 3 迁移到 Hibernate 5。我们正在使用 DatabaseMetadata class 来获取 TableMetadata。因此,使用 TableMetadata 对象获取 DB table 列信息,如列大小、类型等。似乎在 Hibernate 5 DatabaseMetadata class 中被弃用(删除!)。在 Hibernate 5 中是否有 DatabaseMetadata class 的替代方案?或者如何在 Hibernate 5 env 中获得 TableMetadata

它在 5.0 中被删除,因为我们转向了一种新的模式工具方法。数据库元数据表示来自基础数据库的现有 catalog/schema 信息。在 5.0 中,该角色由 org.hibernate.tool.schema.extract.spi.DatabaseInformation 担任。它(和它之前的 DatabaseMetadata)真的只支持用于模式验证和模式迁移(更新)代码。它被传递到那些调用中。我假设您使用的是另一种方式。这不一定受支持,但如果你想继续这样做,你只需实例化一个 org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl 实例。