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

Hibernate 4注释配置

薛烨霖
2023-03-14
问题内容

我正在尝试将Hibernate
4仅用于注释和一个hibernate.cfg.xml文件。我做了自己的注释,并使用反射将其添加到配置中。我可以用这种方式很好地使用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?我似乎只会造成错误并面临不必要的困难。


问题答案:

修改后的代码如下所示:

  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-6183和HHH-2578。



 类似资料:
  • 我试图创建一个简单的spring mvc应用程序进行实践,但我不断地得到这样的错误: 在名为'MVC-Dispatcher'的DispatcherServlet中没有找到带有URI的HTTP请求映射,我从Tomcat得到了404错误。 这是我的控制器 当在dispatcher servlet中使用bean时,我可以让控制器工作,但出于某种原因,我无法获得带有注释的正确处理程序映射。我是不是猜我的m

  • 在我的项目中,我一直在使用Spring3和Hibernate4。我已经添加了支持Spring3和Hibernate4项目的所有依赖项。我并不特定于hibernate上的版本,但它应该支持Spring3。 当我尝试在Tomcat7项目上部署时,我得到了以下异常。 原因:org。springframework。豆。工厂BeanCreationException:无法自动关联字段:私有组织。冬眠Sess

  • 我已经制作了几个应用程序,它们使用了纯注释Spring配置。现在,我想试着建一个图书馆。 < li >库应该使用纯注释Spring配置。 < li >使用该库的项目应该能够在没有任何特殊Spring配置的情况下使用该库。事实上,我希望这个库可以与Spring和非Spring项目互换使用。所有的Spring配置都应该在库jar中处理。 < li >该库应该可用于非web应用程序的项目。 < li >

  • 问题内容: 在最近我从事的一些大型项目中,选择其中一种(XML或注释)似乎变得越来越重要。随着项目的发展,一致性对于可维护性非常重要。 我的问题是:与基于注释的配置相比,基于XML的配置有哪些优势?与基于XML的配置相比,基于注释的配置有哪些优势? 问题答案: 注释有其用途,但它们不是杀死XML配置的灵丹妙药。我建议将两者混合! 例如,如果使用Spring,则将XML用于应用程序的依赖注入部分是完

  • 问题内容: 我正尝试升级我的spring mvc项目,以利用新的注释并摆脱我的xml。以前,我通过以下行将静态资源加载到我的计算机中: 现在,我在没有任何xml文件的情况下利用该类和批注来启动我的服务,但是似乎无法弄清楚如何加载我的资源。 是否有注释或新配置可将这些资源拉回而无需使用xml? 问题答案: 对于spring3和4: 一种方法是让你的配置类extension ,然后像这样重写以下方法:

  • 我对Spring Boot配置有问题。 我已经使用https://start.spring.io/ 我有一个问题,配置只适用于子曲库中的类: 我尝试了annotation@ComponentScan,但没有任何帮助。 你知道我能用这个做什么吗?