【问题标题】:Configuring hibernate.cfg.xml file配置 hibernate.cfg.xml 文件
【发布时间】:2014-01-30 16:58:12
【问题描述】:

我是 Hibernate 的新手,所以我有几个愚蠢的问题希望有人能够帮助我。我有一个关于配置休眠文件的查询,即 hibernate.cfg.xml 文件。通常我们配置如下:

  <?xml version='1.0' encoding='UTF-8'?>  
    <!DOCTYPE hibernate-configuration PUBLIC  
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
              "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
<hibernate-configuration>  

<session-factory>  
    <property name="hbm2ddl.auto">update</property>  
    <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>  
    <property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe</property>  
    <property name="connection.username">system</property>  
    <property name="connection.password">oracle</property>  
    <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>  
<mapping resource="employee.hbm.xml"/>  
</session-factory>  

</hibernate-configuration>

考虑相关映射文件的位置。假设我有另一个映射文件,将其命名为 company.hbm.xml 文件,并且与 employee.hbm.xml 文件具有一对多的关系。因此,随着映射文件数量的增加,我们将它们包含在标签中。

查询:包含具有单个标记的多个映射文件与仅包含具有所有相关映射的单个映射文件有何不同。

感谢您的回复

【问题讨论】:

  • 为什么不在模型类中使用 annotation 而不是创建多个映射文件?
  • 这是使用 xml 的缺点,bcz xml 文件应增加用于与多个实体的多个关系。所以你可以在 pojo 的注释和 hibernate.cfg.xml 文件中的配置实体中尝试一下
  • 有没有场景我们会优先使用映射文件而不是注解?

标签: java hibernate


【解决方案1】:

因为这样的分离更干净。具有完整配置的单个文件往往会长大并成为另一个巨大的、不可维护和不可读的 XML 文件。

还请注意,在模型类中使用注释似乎是适合您的正确方式(正如@Shiju Babu 所说)。

【讨论】:

  • 对于 xml/annotation 主题。注解是在 Java 的第 5 版中引入的——所以如果你使用 Java 1.5 或更高版本,你应该首先使用它们。在这种情况下,XML 被认为是一种“已弃用”的配置方式。使元数据靠近相关的类和数据是一种很好的做法 - 更易于理解和维护您的代码。
  • 有没有场景我们会优先使用映射文件而不是注解?
猜你喜欢
  • 2012-02-08
  • 2013-10-19
  • 1970-01-01
  • 2016-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多