使用注解或使用休眠配置文件休眠
Posted
技术标签:
【中文标题】使用注解或使用休眠配置文件休眠【英文标题】:hibernate using annotations or using hibernate configuration files 【发布时间】:2010-09-02 05:56:25 【问题描述】:我看过很多使用注解(基本上是hibernate注解或JPA注解)实现休眠的教程。有教程主要侧重于使用休眠配置文件(hbm.xml 文件)。根本不使用注释。
现在我有点困惑,哪种方法更好?
【问题讨论】:
【参考方案1】:我绝对更喜欢使用注释来定义我的映射元数据。实际上,注解是 Hibernate 开发人员推荐的方法。引用 More XML than code? 中的 Gavin King
当然,Hibernate Annotations 早在 2005 年初就已经存在,人们不再有任何理由在 XML 中定义映射。
优点:
注释通常不那么冗长 注释与代码一起使用,它们更易于维护 (IMO)缺点:
更改元数据需要重新编译(如果这确实是个问题)换句话说,如果可以,请使用注释。如果您不能(您无法更改代码,例如在使用旧代码时),请使用 XML 映射。
【讨论】:
【参考方案2】:这取决于你!我不认为有更好的方法。两种解决方案都致力于同一件事,即帮助 Hibernate 了解数据库的结构。注释的优点是可以直接在您的 Entity Java 类文件中使用。
曾有一段时间,XML 被视为定义配置信息的标准。从 Java 5 开始,最初位于这些 XML 文件中的许多信息现在使用注释直接存储在类中。例如,Spring 3.x
框架或 Java EE 6
现在使用注解。
【讨论】:
【参考方案3】:这取决于您的喜好。例如,我更喜欢注释类以定义什么是主键、哪些值是自动生成的以及实体具有什么关系。我还使用了配置文件 persistence.xml,我在其中定义了 实体如何映射 到数据库。所以我将领域模型的程序员视图分离给了数据库工程师。
【讨论】:
【参考方案4】:我也更喜欢注释方法,因为我喜欢在一个地方查看类及其数据库配置。另一方面,这是使用配置文件的最大优势:您不需要接触 java 类。
【讨论】:
以上是关于使用注解或使用休眠配置文件休眠的主要内容,如果未能解决你的问题,请参考以下文章