您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

发布到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
其他 2022/1/1 18:20:04 有562人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶