当前位置: 首页 > 面试题库 >

从方法org.hibernate.cfg.Configuration.getClassMapping(className)的Hibernate从4.3.x迁移到5.x

轩辕源
2023-03-14
问题内容

在Hibernate 4.3.x中,有一个getClassMapping(className)class
方法org.hibernate.cfg.Configuration。但是在Hibernate
5.x中,此getClassMapping(className)方法已从Configuration类中删除。

Hibernate-5中的代码替换是什么?

请帮助解决此迁移问题。


问题答案:

我发布到Broadleaf
Commerce,因为他们还需要PersistentClass

我一直在使用Hibernate 5进行工具处理,其中一些更改是…。要获取元数据,请使用Serviceloader:

package org.broadleafcommerce.openadmin.server.dao;

import org.hibernate.boot.SessionFactoryBuilder;
import org.hibernate.boot.spi.MetadataImplementor;
import org.hibernate.boot.spi.SessionFactoryBuilderFactory;
import org.hibernate.boot.spi.SessionFactoryBuilderImplementor;

public class EntityMetaData implements SessionFactoryBuilderFactory {

    private static final ThreadLocal<MetadataImplementor> meta = new ThreadLocal<>();

    @Override
    public SessionFactoryBuilder getSessionFactoryBuilder(MetadataImplementor metadata, SessionFactoryBuilderImplementor defaultBuilder) {
        meta.set(metadata);
        return defaultBuilder;
    }

    public static MetadataImplementor getMeta() {
        return meta.get();
    }
}

您将需要以下文件:

/resources/META-INF/services/org.hibernate.boot.spi.SessionFactoryBuilderFactory

具有完全限定的类名,在我的示例中为:

org.broadleafcommerce.openadmin.server.dao.EntityMetaData


 类似资料:
  • 问题内容: 我正在将应用程序从Hibernate 3迁移到Hibernate5。我们使用class来获取。因此,使用对象来获取数据库表列信息,例如列大小,类型..etc。似乎在Hibernate 5 类中已弃用(已删除!)。Hibernate 5中是否有其他上课的选择?否则如何进入Hibernate 5 env? 问题答案: 当我们转向一种新的模式工具方法时,它在5.0中已被删除。Database

  • 我正在从3迁移到Hibernate 5.0.3.final。在3.x中,我使用joda-time在oracle DB中持久化LocalDateTime。现在我看到Hibernate5不支持Joda-Time。请告诉我最好的选择是什么? 下面是代码示例。

  • 我们正在计划从5.x迁移到最新版本(即ActiveMQ Artemis),如果有人已经将Camel作为客户机应用程序,我们需要一些澄清。 我们目前通过Camel ActiveMQ组件进行连接,我在Camel中没有看到任何这样的Artemis组件。我们还有其他组件,如JMS、SJMS、AMQP。有什么想法可以选择和推荐哪一个连接到阿尔忒弥斯吗?我想我可以选择在新版本中使用核心,AMQP协议,如果想离

  • 嗨,我遇到了一些使用log4j的代码。我想移动到log4j2。从http://logging.apache.org/log4j/2.x/manual/migration.html中,我发现可以使用log4j-1.2-api.jar。我有以下问题: > 在代码中,我有一个自定义的appender(正如链接中给出的,我不应该使用类appender的内部),这意味着我不能使用log4j-1.2-api.

  • 新的中间件签名 Koa v2 引入了新的中间件签名。 旧签名中间件(v1.x)支持将在 v3 中删除 新的中间件签名是这样的: // 使用异步箭头方法 app.use(async (ctx, next) => { try { await next() // next 现在是一个方法 } catch (err) { ctx.body = { message: err

  • 更喜欢观看视频?可以点此观看。 下面以 antd-admin 为例,介绍如何从 umi@1 升级到 umi@2 。 npm 依赖 升级 umi 到 ^2.0.0-0,并使用 umi-plugin-react 代替以前的众多插件,包含 umi-plugin-dva、umi-plugin-dll、umi-plugin-routes、umi-plugin-polyfill 和 umi-plugin-lo