Hibernate 注释或 XML 配置

Posted

技术标签:

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

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

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

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

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

【问题讨论】:

【参考方案1】:

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

答案:

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

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

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

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

【讨论】:

【参考方案2】:

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

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

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

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

【讨论】:

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

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

【讨论】:

以上是关于Hibernate 注释或 XML 配置的主要内容,如果未能解决你的问题,请参考以下文章

hibernate简单注释(一.1)

Hibernate→ 《Hibernate程序开发》教材大纲

图说hibernate注释--xml里配置参数

Java - 框架之 Hibernate

Hibernate5-c3p0使用

运行第二天出现hibernate的错误,org.hibernate.TransactionException: JDBC commit failed at org.hiber