使用Hibernate配置聯合主鍵的兩種方式
阿新 • • 發佈:2019-02-16
1.主鍵欄位和非主鍵欄位在同一個實體類中,Hibernate配置檔案如下
2.主鍵欄位和非主鍵欄位不在同一個實體類中,Hibernate配置檔案如下
文章出處
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.krmsoft.ais.project.vo.ProVersion" table="PRO_VERSION"> <comment>離線版版本號</comment> <composite-id> <key-property name="verNo" type="java.lang.Integer"> <column name="VER_NO" not-null="true"> <comment>版本號</comment> </column> </key-property> <key-property name="buildNo" type="java.lang.Integer"> <column name="BUILD_NO" not-null="true"> <comment>升級號</comment> </column> </key-property> </composite-id> <property name="buildTime" type="java.lang.String"> <column name="BUILD_TIME" length="32" not-null="true"> <comment>升級日期</comment> </column> </property> <property name="verName" type="java.lang.String"> <column name="VER_NAME"> <comment>版本名稱</comment> </column> </property> <property name="verDesc" type="java.lang.String"> <column name="VER_DESC"> <comment>版本描述</comment> </column> </property> <property name="creatorId" type="java.lang.String"> <column name="CREATOR_ID" length="10" not-null="true"> <comment>建立人</comment> </column> </property> <property name="createTime" type="java.lang.String"> <column name="CREATE_TIME" length="20" not-null="true"> <comment>建立時間</comment> </column> </property> </class> </hibernate-mapping>
2.主鍵欄位和非主鍵欄位不在同一個實體類中,Hibernate配置檔案如下
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.krmsoft.ais.project.vo.ProVersion" table="PRO_VERSION"> <comment>離線版版本號</comment> <composite-id name="id" class="com.krmsoft.ais.project.vo.ProVersionId"> <key-property name="verNo" type="java.lang.Integer"> <column name="VER_NO" not-null="true"> <comment>版本號</comment> </column> </key-property> <key-property name="buildNo" type="java.lang.Integer"> <column name="BUILD_NO" not-null="true"> <comment>升級號</comment> </column> </key-property> </composite-id> <property name="buildTime" type="java.lang.String"> <column name="BUILD_TIME" length="32" not-null="true"> <comment>升級日期</comment> </column> </property> <property name="verName" type="java.lang.String"> <column name="VER_NAME"> <comment>版本名稱</comment> </column> </property> <property name="verDesc" type="java.lang.String"> <column name="VER_DESC"> <comment>版本描述</comment> </column> </property> <property name="creatorId" type="java.lang.String"> <column name="CREATOR_ID" length="10" not-null="true"> <comment>建立人</comment> </column> </property> <property name="createTime" type="java.lang.String"> <column name="CREATE_TIME" length="20" not-null="true"> <comment>建立時間</comment> </column> </property> </class> </hibernate-mapping>
文章出處