Hibernate配置檔案中對映元素詳解

vjvj110發表於2022-05-10

物件關係的對映是用一個XML文件來說明的。對映文件可以使用工具來生成,如XDoclet,Middlegen和AndroMDA等。下面從一個對映的例子開始講解對映元素,對映檔案的程式碼如下。 <?xml version="1.0"?><!--所有的XML對映檔案都需要定義如下所示的DOCTYPE。Hibernate會先在它的類路徑(classptah)中搜尋DTD檔案。--><!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!--hibernate-mapping有幾個可選的屬性:schema屬性指明瞭這個對映的表所在的schema名稱。default-cascade屬性指定了預設的級聯風格 可取值有 none、save、update。auto-import屬性預設讓我們在查詢語言中可以使用非全限定名的類名 可取值有 true、false。package屬性指定一個包字首。--><hibernate-mapping schema="schemaName" default-cascade="none" auto-import="true" package="test"><!--用class元素來定義一個持久化類 --><class name="People" table="person"><!-- id元素定義了屬性到資料庫表主鍵欄位的對映。--><id name="id"><!-- 用來為該持久化類的例項生成唯一的標識 --><generator class="native"/></id><!-- discriminator識別器 是一種定義繼承關係的對映方法--><discriminator column="subclass" type="character"/><!-- property元素為類宣告瞭一個持久化的,JavaBean風格的屬性--><property name="name" type="string"><column name="name" length="64" not-null="true" /></property><property name="sex"not-null="true" update="false"/><!--多對一對映關係--><many-to-one name="friend"column="friend_id"update="false"/><!--設定關聯關係--><set name="friends" inverse="true" order-by="id"><key column="friend_id"/><!—一對多對映--><one-to-many class="Cat"/></set></class></hibernate-mapping>   元件應用的方法   元件有兩種型別,即元件(component)和動態元件(dynamic-component)。在配置檔案中,component元素為子物件的元素與父類對應表的欄位建立起對映關係。然後元件可以宣告它們自己的屬性、元件或者集合。component元素的定義如下所示: <component name="propertyName" class="className" insert="true|false" upate="true|false" access="field|property|ClassName"> <property ...../><many-to-one .... />........</component>   在這段程式碼中,name是指屬性名,class是類的名字,insert指的是被對映的欄位是否出現在SQL的INSERT語句中,upate指出被對映的欄位是否出現在SQL的UPDATE語句中,access指出訪問屬性的策略。   Hiebernate的基本配置   Hibernate的資料庫連線資訊是從配置檔案中載入的。Hibernate的配置檔案有兩種形式:一種是XML格式的檔案,一種是properties屬性檔案。properties形式的配置檔案預設檔名是hibernate.properties,一個properties形式的配置檔案內容如下所示: #指定資料庫使用的驅動類hibernate.connection.driver_class = com.mysql.jdbc.Driver r#指定資料庫連線串hibernate.connection.url = jdbc:mysql://localhost:3306/db#指定資料庫連線的使用者名稱hibernate.connection.username = user#指定資料庫連線的密碼hibernate.connection.password = password#指定資料庫使用的方言hibernate.dialect = net.sf.hibernate.dialect.MySQLDialect#指定是否列印SQL語句hibernate.show_sql=true   在配置檔案中包含了一系列屬性的配置,Hibernate將根據這些屬性來連線資料庫。   在XML格式的配置檔案中,除了基本的Hibernate配置資訊,還可以指定具體的持久化類的對映檔案,這可以避免將持久化類的配置檔案硬編碼在程式中。XML格式的配置檔案的預設檔名為hibernate.cfg.xml,一個XML配置檔案的示例如下所示: <?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN"""><hibernate-configuration><session-factory><!--顯示執行的SQL語句--><property name="show_sql">true</property><!--連線字串--><property name="connection.url">jdbc:mysql://localhost:3306/STU</property><!--連線資料庫的使用者名稱--><property name="connection.username">root</property><!--資料庫使用者密碼--><property name="connection.password">root</property><!--資料庫驅動--><property name="connection.driver_class">com.mysql.jdbc.Driver</property><!--選擇使用的方言--><property name="dialect">org.hibernate.dialect.MySQLDialect</property><!--對映檔案 --><mapping resource="com/stuman/domain/Admin.hbm.xml" /><!--對映檔案--><mapping resource="com/stuman/domain/Student.hbm.xml" /></session-factory></hibernate-configuration>   properties形式的配置檔案和XML格式的配置檔案可以同時使用。當同時使用兩種型別的配置檔案時,XML配置檔案中的設定會覆蓋properties配置檔案的相同的屬性。共2頁。 1 2 :    物件關係的對映是用一個XML文件來說明的。對映文件可以使用工具來生成,如XDoclet,Middlegen和AndroMDA等。下面從一個對映的例子開始講解對映元素,對映檔案的程式碼如下。 <?xml version="1.0"?><!--所有的XML對映檔案都需要定義如下所示的DOCTYPE。Hibernate會先在它的類路徑(classptah)中搜尋DTD檔案。--><!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!--hibernate-mapping有幾個可選的屬性:schema屬性指明瞭這個對映的表所在的schema名稱。default-cascade屬性指定了預設的級聯風格 可取值有 none、save、update。auto-import屬性預設讓我們在查詢語言中可以使用非全限定名的類名 可取值有 true、false。package屬性指定一個包字首。--><hibernate-mapping schema="schemaName" default-cascade="none" auto-import="true" package="test"><!--用class元素來定義一個持久化類 --><class name="People" table="person"><!-- id元素定義了屬性到資料庫表主鍵欄位的對映。--><id name="id"><!-- 用來為該持久化類的例項生成唯一的標識 --><generator class="native"/></id><!-- discriminator識別器 是一種定義繼承關係的對映方法--><discriminator column="subclass" type="character"/><!-- property元素為類宣告瞭一個持久化的,JavaBean風格的屬性--><property name="name" type="string"><column name="name" length="64" not-null="true" /></property><property name="sex"not-null="true" update="false"/><!--多對一對映關係--><many-to-one name="friend"column="friend_id"update="false"/><!--設定關聯關係--><set name="friends" inverse="true" order-by="id"><key column="friend_id"/><!—一對多對映--><one-to-many class="Cat"/></set></class></hibernate-mapping>   元件應用的方法   元件有兩種型別,即元件(component)和動態元件(dynamic-component)。在配置檔案中,component元素為子物件的元素與父類對應表的欄位建立起對映關係。然後元件可以宣告它們自己的屬性、元件或者集合。component元素的定義如下所示: <component name="propertyName" class="className" insert="true|false" upate="true|false" access="field|property|ClassName"> <property ...../><many-to-one .... />........</component>   在這段程式碼中,name是指屬性名,class是類的名字,insert指的是被對映的欄位是否出現在SQL的INSERT語句中,upate指出被對映的欄位是否出現在SQL的UPDATE語句中,access指出訪問屬性的策略。   Hiebernate的基本配置   Hibernate的資料庫連線資訊是從配置檔案中載入的。Hibernate的配置檔案有兩種形式:一種是XML格式的檔案,一種是properties屬性檔案。properties形式的配置檔案預設檔名是hibernate.properties,一個properties形式的配置檔案內容如下所示: #指定資料庫使用的驅動類hibernate.connection.driver_class = com.mysql.jdbc.Driver r#指定資料庫連線串hibernate.connection.url = jdbc:mysql://localhost:3306/db#指定資料庫連線的使用者名稱hibernate.connection.username = user#指定資料庫連線的密碼hibernate.connection.password = password#指定資料庫使用的方言hibernate.dialect = net.sf.hibernate.dialect.MySQLDialect#指定是否列印SQL語句

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31495967/viewspace-2893165/,如需轉載,請註明出處,否則將追究法律責任。

相關文章