2014-06-06 24 views
4

我正在爲我的Java Web應用程序試驗Hibernate。以下是我的hibernate.cfg.xml的一部分,我想知道如何在同一個配置文件中映射多個數據庫表。我使用註釋將我的模型映射到mysql數據庫表,並且我有多個模型類(例如:models.Book),如何在hibernate.cfg.xml中映射模型?用於在同一個數據庫中映射多個MySQL表的Hibernate配置文件(.cfg.xml)?

<hibernate-configuration> 
    <session-factory> 
     <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
     <property name="connection.url">jdbc:mysql://localhost:3306/test_db</property> 
     <property name="connection.username">root</property> 
     <property name="connection.password">xxx</property> 

     <property name="connection.pool_size">1</property> 
     <property name="dialect">org.hibernate.dialect.MySQLDialect</property> 
     <property name="current_session_context_class">thread</property> 
     <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> 
     <property name="show_sql">true</property> 
     <property name="hbm2ddl.auto">validate</property> 

     <mapping class ="models.Category" /> 

    </session-factory> 
</hibernate-configuration> 
+0

我也在嘗試做同樣的事情。你有沒有找到解決方案@TonyGW – want2learn

回答

6

我們不應該在cfg.xml文件中指定映射。它必須通過註釋或XML來完成。 對於註解: 如果我們使用註釋來指示與實體類的數據庫映射,那麼您提供的cfg.xml文件看起來很好。

要使用實體和表之間的映射XML的方式,一個hbm.xml文件中需要創建,並在這種情況下,替換

<mapping class ="models.Category" /> 

的東西,如

<mapping resource="models/Book.hbm.xml></mapping> 

和HBM。 xml文件包含如下所需的映射。 例如:

<hibernate-mapping> 
    <class name="models.Book" table="Book" catalog="your database name"> 
     <id name="bookId" type="java.lang.Integer"> 
      <column name="BOOKID" /> 
      <generator class="identity" /> 
     </id> 
     <property name="authorName" type="string"> 
      <column name="AUTHOR_NAME" length="10" not-null="true" unique="true" /> 
     </property> 
    </class>//all the database mappings 
</hibernate-mapping> 

對不起,如果我明白你的問題錯。

+0

謝謝,但我不使用xml將我的類映射到數據庫表。相反,我在我的實體(如Book)上使用註釋。 – TonyGW

+1

@TonyGW - 請參考下面的鏈接,以詳盡的例子廣泛地瞭解基於註釋的映射。 [鏈接](http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/mapping.html#mapping-declaration-component) – Aviro

+0

那麼,如果我理解這個權利,我們有Hibernate註釋和JPA註釋,類似但不同。您可以隨時查看此鏈接以查看更多詳情:[doc](https://docs.jboss.org/hibernate/stable/annotations/reference/en/html/entity.html)。 – FaithReaper

1

我們不能在單個配置文件中配置多個數據庫。如果我們使用多個數據庫,我們必須使用多個配置文件。在相應的表中,我們可以在相應的配置文件中進行配置

相關問題