Hibernate注释或XML配置

时间:2011-08-22 11:48:24

标签: hibernate hibernate-mapping hibernate-annotations

我已经使用Hibernate开始了一个新项目。 Hibernate注释是更好的选择还是更好的Hibernate XML映射?

我已经使用Hibernate和XML配置,但我不知道注释。

  1. 在进行基于注释的实现时是否有任何问题?
  2. 基于注释更容易维护应用程序还是更复杂?
  3. 哪一个更好(即注释或XML映射),哪一个被广泛使用?为什么?
  4. 如果我在不同的级别使用不同的数据库,即生产或集成或开发级别,我是否需要更改代码?
  5. 注意:我不是在比较两种技术,但我想知道在使用最新技术的应用程序中使用哪种技术(即两种方式)。

3 个答案:

答案 0 :(得分:23)

注释是新应用程序的更好选择,因为它使应用程序不受XML文件的影响。代码也少,维护也很简单。它还有助于重构应用程序(使用IDE,如Eclipse / NetBeans等),这是XML的问题,因为您需要手动更改它。

数目:

  1. 没问题,您可以使用最新的JSR 330 API(Java依赖注入),这有助于为JSF托管bean提供相同的注释(使用@Named代替{{1} }),Spring IoC图层和Hibernate,这样整个图层就会有一个注释概念而不是特定于框架。

  2. 维护很容易,特别是重构代码,更少或没有XML文件和新学习。在Hibernate中使用基于JPA的注释。你可以在谷歌找到一些样本。

  3. 广泛使用基于XML,因为它从一开始就存在,但对于新的应用程序,注释更好,哪个更成熟。

  4. 对于任何数据库的更改,代码在注释或XML中保持不变,只需要更改属性文件值。

答案 1 :(得分:9)

注释更新,是JPA应用程序的标准方法。

我发现它们比XML更容易使用,但这是品味和体验的问题。使用它们会让你

  • 学习新东西
  • 准备启动基于JPA的项目(可以使用其他实现)

我从未遇到过需要XML的情况,因为注释不允许我按照自己的意愿行事。

答案 2 :(得分:1)

在注释之前,只有一种方法可以做到这一点 - XML。如果你使用注释,你将在一个地方拥有所有,因此理解和维护它会更容易。