Java-hibernate的對應檔

來源:互聯網
上載者:User

標籤:style   blog   http   color   io   使用   ar   java   for   

Hibernate 需要知道怎樣去載入(load)和儲存(store)持久化類的對象。這正是 Hibernate 映


射檔案發揮作用的地方。對應檔告訴 Hibernate 它應該訪問資料庫(database)裡面的哪個表


(table)及應該使用表裡面的哪些欄位(column)。


一個對應檔的基本結構看起來像這樣:

如果需要看DTD的設定檔可以到hibernate3.jar檔案下的org.hibernate包下面有個hibernate-mapping-3.0.dtd和hibernate-configuration-3.0.dtd檔案就是這裡的約束

在 hibernate-mapping 標籤(tag)之間, 含有一個 class 元素。所有的持久化實體類(再次聲
明,或許接下來會有依賴類,就是那些次要的實體)都需要一個這樣的映射,來把類對象映射到
SQL 資料庫裡的表:

<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping package="org.hibernate.tutorial.domain">

   <!--這裡Event是類名,上面的package的路徑就是這個類名的包,EVENTS則是對應的表名-->

   <class name="Event" table="EVENTS">

     <!--這裡id 標籤的name屬性是對應的類的一個屬性,column是對應的表的主鍵名-->

         <id name="id" column="EVENT_ID">

             <!--generator 元素指定標識符的建置原則(也就是標識符值是怎麼產生的) native(全域性唯一) increment(自增)-->

             <generator class="native"> </generator>  
        </id>

 <!--這裡的寫法很多,第一種是將表和類型寫在一起,其他的沒有寫的時候hibernate會自動使用預設的配置-->

       <property name="date" type="timestamp" column="EVENT_DATE"/>

       <property name="title"/>

 <!--這種寫法之名了資料類型,將表的欄位單獨拿出來成一個標籤, 因為表還具有自己的一些屬性-->

       <property name="name" type="java.lang.String">
           <column name="name" not-null="true"/>
       </property>


   </class>

</hibernate-mapping>

為了儲存 Hibernate 的配置,我們可以使用一個簡單的 hibernate.properties 檔案,或者一個
稍微複雜的 hibernate.cfg.xml,甚至可以完全使用程式來配置 Hibernate。多數使用者更喜歡使用
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="connection.driver_class">com.mysql.jdbc.Driver</property><!-- 配置DATE的地址 --><property name="connection.url">jdbc:mysql://127.0.0.1:3306/test</property><!-- 設定資料庫的使用者名稱 --><property name="connection.username">root</property><!-- 設定資料庫的密碼 --><property name="connection.password">123456</property><!-- 輸出SQL執行語句 --><property name="show_sql">true</property><!-- 確定方言 --><property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property><!-- 能夠產生DDL建表語句, --><property name="hbm2ddl.auto">update</property><!-- 讀取映射的檔案 --><mapping resource="com/sun/domain/Employee.hbm.xml"/><mapping resource="com/sun/domain/Content.hbm.xml"/></session-factory></hibernate-configuration>

 

  

 

 

  

 

Java-hibernate的對應檔

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.