【问题标题】:Hibernate annotation or XML configurationHibernate 注释或 XML 配置
【发布时间】:2011-11-01 02:23:20
【问题描述】:

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

我使用过带有 XML 配置的 Hibernate,但我对注解一无所知。

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

注意:我不是在比较两种技术,而是想知道在应用程序中使用最新技术中的哪一种(即两种方式中的一种)。

【问题讨论】:

    标签: hibernate hibernate-mapping hibernate-annotations


    【解决方案1】:

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

    答案:

    1. 没问题,您可以使用最新的JSR 330 API(Java 的依赖注入),它有助于为 JSF 托管 bean 提供相同的注释(使用 @Named 而不是 @managedbean),@987654322 @IoC 层和 Hibernate,因此整个层您将有一个单独的注释概念,而不是特定于框架。

    2. 维护很容易,尤其是代码重构、更少或没有 XML 文件和新的学习。在 Hibernate 中使用基于 JPA 的注释。您可以在 google 中找到一些示例。

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

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

    【讨论】:

      【解决方案2】:

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

      我发现它们比 XML 更易于使用,但这取决于品味和经验。使用它们会让你

      • 学习新知识
      • 准备开始一个基于 JPA 的项目(可以使用其他实现)

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

      【讨论】:

      • 感谢您的回复。我们没有使用 JPA 的计划。学习新知识不同于提出更好的技术来延长项目的生命周期。
      • Hibernate 是一个 JPA 实现。 Hibernate使用的注解是JPA注解。
      • @JBNizet 在 Spring 应用程序中使用 XML 或 Annotations 是否有任何性能差异?
      • 区别不在于性能,而在于易用性和可读性。
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2012-08-07
        • 2015-01-11
        • 2012-03-23
        • 2010-09-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-25
        • 1970-01-01
        相关资源
        最近更新 更多