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