Hibernate 4注解配置

7

我想只使用注解和hibernate.cfg.xml文件来使用Hibernate 4。 我已经创建了自己的注解,并使用反射将其添加到配置中。我可以成功地使用Hibernate 4,但我的配置是使用过时的方法构建的。

final Configuration configuration = new Configuration();
final Reflections reflections = new Reflections(Item.class.getPackage().getName());
final Set<Class<?>> classes = reflections.getTypesAnnotatedWith(Entity.class);
for (final Class<?> clazz : classes) {
    configuration.addAnnotatedClass(clazz);
}
return configuration.configure().buildSessionFactory();

(已弃用的代码:buildSessionFactory(); ).

即使 Hibernate 4 文档也显示要以那种方式构建配置。

如果我尝试使用新方法 (buildSessionFactory(ServiceRegistry)),我得到的结果不同,而且似乎要做很多不必要的工作来完成与弃用方法相同的工作。但是,我不想继续使用这种风格,因为我不喜欢使用已弃用的代码。

我的问题是:如何正确地从一个配置文件配置 Hibernate 4 以描述上述方式?我似乎只会引起错误并面临不必要的困难。


1
你看过这个帖子了吗: https://dev59.com/umoy5IYBdhLWcg3wWcig那里有一个非常好评的答案。 - Henrique Ordine
1个回答

9
修改后的代码如下所示:
  final Configuration configuration = new Configuration();
    final Reflections reflections = new Reflections(Item.class.getPackage().getName());
    final Set<Class<?>> classes = reflections.getTypesAnnotatedWith(Entity.class);
    for (final Class<?> clazz : classes) {
        configuration.addAnnotatedClass(clazz);
    }
            ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings
(configuration.getProperties()).buildServiceRegistry();        

    return configuration.buildSessionFactory(serviceRegistry);

您可以查看以下链接获取信息:HHH-6183HHH-2578


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接