Hibernate有很多值得學習的地方,這裡我們主要介紹Hibernate column屬性,包括介紹Hibernate充分利用實現特殊化的屬性等方面.
Hibernate是一個對象-關係映射工具.它的任務是映射對象到關係型表,反之亦然.所以,我們必須告訴Hibernate如何映射列到JavaBean的屬性上.這個是通過Element.hbm.xml文件來完成的.這份文件裡面包含的信息用來授予Hibernate從表裡面拷貝數據到Elements JavaBean的權利.如果我們使用Hibernate來更新數據,Element.hbm.xml文件里的信息將被用來解析從Elements JavaBean來的數據來生成更新的SQL語句.
1.<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-
//Hibernate/Hibernate Mapping DTD//EN"
"
2.<class name="com.strutsrecipes.hibernate.beans.Element" table="elements">
3.<id name="id" column="id">
4.<generator class="native"/>
5.</id>
6.<property name="name" column="name"/>
7.<property name="number" column="number"/>
8.<property name="mass" column="mass"/>
9.<property name="symbol" column="symbol"/>
10.</class></hibernate-mapping>
我們聲明從JavaBean的id屬性到表的id列的映射.property和Hibernate column屬性都有相同的值,我們本來可以忽略Hibernate column屬性,但是為了清晰起見,我們還是把column列出來. 是個特殊的標籤.它被用來聲明表的主鍵.閉合的標籤表示Hibernate以最適合資料庫實現的方式生成該主鍵.你可以參考Hibernate文檔有關標籤的更多信息.我們為其它的JavaBean屬性做聲明.為了清晰起見,Hibernate column屬性再次被聲明.
一旦映射文件被詳細的分析,那一切都非常的明晰了.它簡單地聲明了表與類的映射和JavaBean屬性與表的列名的映射.接下來我將告訴你在哪裡放置這個文件.
接下來,我們通過聲明環境信息來配置Hibernate.在下面我們展示Hibernate.cfg.xml文件.
11.<?xml version='1.0' encoding='utf-8'?>//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<hibernate-configuration>
12.<session-factory>
13.<property name="dialect">net.sf.hibernate.dialect.HSQLDialect</< SPAN>property>
14.<property name="connection.driver_class">org.hsqldb.jdbcDriver</< SPAN>property>
15.<property name="connection.username">sa</< SPAN>property>
16.<property name="connection.password"></< SPAN>property>
17.<property name="connection.url">jdbc:hsqldb:hsql://127.0.0.1</< SPAN>property>
18.<property name="show_sql"> </< SPAN>property> <property name="">true</< SPAN>property>
19.<mapping resource="/com/strutscookbook/hibernate/beans/Element.hbm.xml"/>
20.</< SPAN>session-factory>
21.</< SPAN>hibernate-configuration>
我們以指定資料庫實現方言開始,允許Hibernate充分利用實現特殊化的屬性.我們聲明Hypersonic方言.我們可以參考Hibernate文檔以選擇資料庫相應的方言.然後我們聲明資料庫驅動.必須保證這個驅動在應用程序的classpath上.然後我們聲明資料庫的用戶名,資料庫密碼,連接資料庫的URL.接下來我們通知Hibernate在日誌里顯示運行時生成的SQL語句.
[火星人 ] Hibernate column屬性簡介已經有457次圍觀