警告:HHH90000028:对“”的支持< hibernate-mappings/>已被弃用,Hibernate日志

mxg2im7a  于 2023-10-23  发布在  其他
关注(0)|答案(1)|浏览(182)

这是完整的日志消息:
警告:HHH 90000028:对<hibernate-mappings/>的支持已弃用[资源:resources/hibernate-mappings/hibernate-mappings.hbm.xml];迁移到orm.xml或mapping.xml,或启用hibernate.transform_hbm_xml.enabled进行动态转换
我试图在互联网上寻找解决方案。然而,关于此日志消息的文章很少。我发现了这个github页面,它是hibernate的一部分:DeprecationLogger.java
这部分源代码使我非常感兴趣

/**
 * Different from {@link #deprecatedSetting} in that sometimes there is no
 * direct alternative
 */
@LogMessage(level = WARN)
@Message(
        id = 90000028,
        value = "Support for `<hibernate-mappings/>` is deprecated [%s : %s]; " +
                "migrate to orm.xml or mapping.xml, or enable `" + AvailableSettings.TRANSFORM_HBM_XML +
                "` for on the fly transformation"
)
void logDeprecatedHbmXmlProcessing(SourceType sourceType, String name);

不过,我还是想不出解决办法。
我的问题是:

  • 如何迁移到orm.xml或mapping.xml?
  • 如何启用hibernate.transform_hbm_xml.enabled
8ftvxx2r

8ftvxx2r1#

启用hibernate.transform_hbm_xml.enabled

这是通过在persistence.xml或hibernate.cfg.xml中添加一个config属性来实现的,就像Hibernate的其他配置一样:

<property name="hibernate.transform_hbm_xml.enabled">true</property>
  • 注意:Transformer尚未完成。在写作的时候,你可能会遇到这样的错误:Could not parse mapping document: META-INF/YourClass.hbm.xml (RESOURCE). OneToMany transformation not yet implemented.*
    迁移到orm.xml或mapping.xml

迁移到orm.xml(JPA标准Map)或mapping.xml(JPA标准+ HibernateMap扩展)可以使用Hibernate Gradle plugin或手动完成。由于这是一次性任务,我建议您设置一个专用的Gradle项目来执行迁移。

相关问题