Hibernate column屬性簡(jiǎn)介
Hibernate有很多值得學(xué)習(xí)的地方,這里我們主要介紹Hibernate column屬性,包括介紹Hibernate充分利用實(shí)現(xiàn)特殊化的屬性等方面。
Hibernate是一個(gè)對(duì)象-關(guān)系映射工具。它的任務(wù)是映射對(duì)象到關(guān)系型表,反之亦然。所以,我們必須告訴Hibernate如何映射列到JavaBean的屬性上。這個(gè)是通過Element.hbm.xml文件來完成的。這份文件里面包含的信息用來授予Hibernate從表里面拷貝數(shù)據(jù)到Elements JavaBean的權(quán)利。如果我們使用Hibernate來更新數(shù)據(jù),Element.hbm.xml文件里的信息將被用來解析從Elements JavaBean來的數(shù)據(jù)來生成更新的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列的映射。因?yàn)閜roperty和Hibernate column屬性都有相同的值,我們本來可以忽略Hibernate column屬性,但是為了清晰起見,我們還是把column列出來。
一旦映射文件被詳細(xì)的分析,那一切都非常的明晰了。它簡(jiǎn)單地聲明了表與類的映射和JavaBean屬性與表的列名的映射。接下來我將告訴你在哪里放置這個(gè)文件。
接下來,我們通過聲明環(huán)境信息來配置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>
我們以指定數(shù)據(jù)庫實(shí)現(xiàn)方言開始,允許Hibernate充分利用實(shí)現(xiàn)特殊化的屬性。我們聲明Hypersonic方言。我們可以參考Hibernate文檔以選擇數(shù)據(jù)庫相應(yīng)的方言。然后我們聲明數(shù)據(jù)庫驅(qū)動(dòng)。必須保證這個(gè)驅(qū)動(dòng)在應(yīng)用程序的classpath上。然后我們聲明數(shù)據(jù)庫的用戶名,數(shù)據(jù)庫密碼,連接數(shù)據(jù)庫的URL。接下來我們通知Hibernate在日志里顯示運(yùn)行時(shí)生成的SQL語句。
【編輯推薦】