使用Hibernate配置联合主键的两种方式
1.主键字段和非主键字段在同一个实体类中,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>
分享到:
相关推荐
hibernate中用到联合主键的看看就会了很棒的资料
Hibernate联合主键,MyEclipse的例子
hibernate的联合主键怎么设置、hibernate的联合主键怎么设置.doc
主要介绍了java hibernate使用注解来定义联合主键的相关资料,需要的朋友可以参考下
联合主键用Hibernate注解映射方式主要有三种: 第一、将联合主键的字段单独放在一个类中,该类需要实现java.io.Serializable接口并重写equals和hascode,再将该类注解为@Embeddable,最后在主类中(该类不包含联合主键...
hibernate复合主键的实例,hibernate复合主键的实例。
复合主键映射 <br>通常将复合主键相关属性,单独抽取出来,建立一个独立的类 * 必须实现序列化接口 * 必须实现equals和hashcode方法 采用标签进行映射,其它属性采用正常映射
NULL 博文链接:https://liuna718-163-com.iteye.com/blog/748089
请更名为 Hibernate复合主键.part2.rar
http://blog.csdn.net/e421083458/article/details/8794127 该源码为Hibernate教程配套源码
NULL 博文链接:https://cdxs2.iteye.com/blog/1932507
Hibernate 系列教程 单向一对多
Hibernate实体关系映射
第1课 课程内容 6 第2课 Hibernate UML图 6 第3课 风格 7 第4课 资源 7 第5课 环境准备 7 ...三、 联合主键 24 1、xml方式 24 2、annotation方式 27 第14课 Hibernate核心开发接口(重点) 29 ........
ORM思想,hibernate介绍,hibernate.cfg.xml配置,hbm.xml映射文件详解,主键生成策略使用,PO对象状态及状态的转换分析、一级缓存,Hibernate数据检索技术,Hibernate高级映射技术,Hibernate多表联合查询, ...
ORM思想,hibernate介绍,hibernate.cfg.xml配置,hbm.xml映射文件详解,主键生成策略使用,PO对象状态及状态的转换分析、一级缓存,Hibernate数据检索技术,Hibernate高级映射技术,Hibernate多表联合查询, ...
复合(联合)主键映射(hibernate_composite) 27 集合(collection)映像 (hibernate_collection) 28 Hibernate 对数据库的并发支持 30 悲观锁(hibernate_pessimistic) 30 乐观锁(hibernate_optimistic) 32 HQL...
Hibernate关联关系配置,一对一,一对多,多对多,联合主键等的配置
依赖对象(Dependent objects) 组件(Component)是一个被包含的...比如,OrderLine类具有一个主键,这个主键依赖于Order的(联合)主键。 insert="false" update="false"> .... </class>
ORM思想,hibernate介绍,hibernate.cfg.xml配置,hbm.xml映射文件详解,主键生成策略使用,PO对象状态及状态的转换分析、一级缓存,Hibernate数据检索技术,Hibernate高级映射技术,Hibernate多表联合查询, ...