Hibernate 注释或 XML 配置

标签 hibernate hibernate-mapping hibernate-annotations

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

我已经将 Hibernate 与 XML 配置一起使用,但我不知道注释。

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

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

    最佳答案

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

    答案:

  • 没问题,可以使用最新的JSR 330 API(Java 的依赖注入(inject))有助于为 JSF 托管 bean 提供相同的注解(使用 @Named 而不是 @managedbean ),Spring IoC层和 Hibernate,因此整个层您将有一个单独的注释概念,而不是特定于框架的。
  • 维护很容易,尤其是代码重构、更少或没有 XML 文件和新的学习。在 Hibernate 中使用基于 JPA 的注释。您可以在 google 中找到一些示例。
  • 广泛使用基于 XML 的,因为它从一开始就存在,但是对于一个新的应用程序注释更好,它更成熟。
  • 对于任何数据库的更改,注释或 XML 中的代码都将保持不变,只需要更改属性文件的值。
  • 关于Hibernate 注释或 XML 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7147018/

    相关文章:

    gradle - Gradle compileJava任务跳过Hibernate映射文件

    java - hibernate 多对一外键未设置

    hibernate - 如何为 sessionFactory.getCurrentSession() 启用 hibernate 过滤器?

    java - 使用列表作为列会导致性能不佳 - JPA

    java - Spring 4.3.0.RELEASE + Hibernate 5.2.0.Final -Error..根本原因是org.hibernate.PersistentObjectException

    hibernate - 如何在Grails中的一对多中定义首选的(主要的,默认的)子对象?

    mysql - SpringBoot + Maven 连接并创建数据库架构

    java - hibernate 5 : Mapping by annotation doesn't work and throws MappingException (unknown entity)

    hibernate - JPA Criteria API where subclass - 出现错误 : Unable to resolve attribute [lastName] against path [null]

    Spring 项目中 java.math.BigInteger 无法转换为 java.util.List