2017-02-21 101 views
0

以下hibernate映射文件按預期生成java類和DEPARTMENT表,但它不會在DB中創建DPT_TEACHERS表,爲什麼不呢?從休眠映射文件生成DDL

<hibernate-mapping> 
    <class name="hibernate.Department" table="DEPARTMENT"> 
     <id name="id" column="ID"> 
      <generator class="native"/> 
     </id> 
     <property name="subject" column="SUBJECT" type="string"/> 

     <set name="teachers" table="DPT_TEACHERS"> 
      <key column="ID"/> 
      <one-to-many class="hibernate.Teacher"/> 
     </set> 
    </class> 
</hibernate-mapping> 

回答

0

您需要添加屬性

hibernate.hbm2ddl.auto

與數據庫連接屬性把hibernate.cfg.xml自動創建架構。

<property name="hibernate.hbm2ddl.auto">create</property> 

<property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
<property name="connection.url">jdbc:mysql://localhost/Test?createDatabaseIfNotExist=true</property> 
<property name="connection.username">root</property> 
<property name="connection.password"></property> 
<property name="connection.pool_size">10</property> 
0

table =「DPT_TEACHERS」不是必需的。不需要另一個表創建1:N關係。 key column =「ID」令人困惑,它應該是key column =「TEACHER_ID」,因此它可以作爲1:N關係添加到Teacher表中