2014-01-30 67 views
1

我是Hibernate的新手,所以我有一些愚蠢的问题希望有人能够帮助我。我有一个关于配置hibernate文件,即hibernate.cfg.xml文件的查询。通常我们将其配置如下:配置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文件具有一对多关系。所以,当映射文件的数量增加时,我们将它们包括到标记中。

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

欣赏你的回应

+2

为什么不在模型类中使用**注释**而不是创建多个映射文件? –

+0

这是使用xml的缺点,bcz xml文件应该增加多个关系到许多实体。所以你可以在hibernate.cfg.xml文件中使用POJO和配置实体中的注释来试验它 – gks

+0

有没有我们会优先使用映射文件而不是注释的场景? – Rushabh

回答

0

因为这种分离更清洁。具有整体配置的单个文件往往会成长,并成为又一个巨大的,不可维护的,不可读的XML文件。

另请注意,在模型类中使用注释似乎是正确的方式(就像@Shiju Babu所说的那样)。

+0

并用于xml /注释主题。 Java的第5版中引入了注释 - 所以如果使用Java 1.5或更高版本,则应首先使用它们。在这种情况下,XML被认为是一种“不推荐”的配置方式。保持元数据接近相关的类和数据是一种好的做法 - 更容易理解和维护您的代码。 – ragatskynet

+0

有没有我们会优先使用映射文件而不是注释的场景? – Rushabh

相关问题