我发布到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