2011-08-22 69 views
19

我已经开始一个新项目Hibernate。 Hibernate注释是更好的选择还是Hibernate XML映射更好?休眠注释或XML配置

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

  1. 有没有问题,而基于注释的实现?
  2. 是应用程序的维护更容易或更复杂的基于注释?
  3. 哪一个更好(即注释或XML映射),哪一个被广泛使用?为什么?
  4. 如果我使用不同级别的数据库,即生产或集成或开发级别,是否需要更改代码?

注意:我没有比较两种技术,但我想知道哪一种(即有两种方式)在应用中使用最新技术。

回答

20

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

答案:

  1. 没有问题,你可以使用最新的JSR 330 API(Java依赖注入),这有助于为一个JSF同样标注管理的bean(使用@Named而不是@managedbean),该SpringIoC图层和Hibernate,这样整个图层你将拥有一个单独的注解概念,而不是特定的框架。

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

  3. 广泛使用基于XML,因为它是从开始的,但对于新的应用程序注释更好,这是更成熟的。

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

8

注解更新,是JPA应用程序的标准做法。

我觉得他们更容易比XML使用,但它的味道和经验的问题。使用它们会使你

  • 学到新的东西
  • 准备开始一个基于JPA的项目(即可以使用另一种实现方式)

我从来没有在我需要的XML的情况因为注释不允许我做我想做的事。

+0

感谢您的回复。我们没有计划使用JPA。学习新技术不同于为项目的长期使用提出更好的技术。 – TechFind

+0

Hibernate是一个JPA实现。 Hibernate使用的注释是JPA注释。 –

+1

@JBNizet在Spring应用程序中使用XML或Annotations有什么性能差异? – kamaci

1

在注解之前,只有一种方法可以实现 - XML。如果你使用注解,你将在一个地方,所以理解和保持它会更容易。