hibernate联合主键配置
2013-05-24 11:23
316 查看
hibernate映射文件中对于主键的配置有很多种方式,以oracle数据库为例:
如需手动分配id主键,配置如下:
<id name="id" type="java.lang.String">
<column name="ID" length="50" />
<generator class="assigned" />
</id>
如需自动增加id主键,配置如下:
<id name="id" type="java.lang.Long">
<column name="ID" length="10" />
<generator class="sequence">
<param name="sequence">myoracle.ID</param>
</generator>
</id>
如果是联合主键,配置如下:
<composite-id name="personId" class="com.po.PersonId">
<key-property name="name" type="java.lang.String">
<column name="NAME" length="50" />
</key-property>
<key-property name="password" type="java.lang.String">
<column name="PWD" length="10" />
</key-property>
</composite-id>
联合主键类:
然后在实体类种加上PersonId personId属性即可(set,get)
如需手动分配id主键,配置如下:
<id name="id" type="java.lang.String">
<column name="ID" length="50" />
<generator class="assigned" />
</id>
如需自动增加id主键,配置如下:
<id name="id" type="java.lang.Long">
<column name="ID" length="10" />
<generator class="sequence">
<param name="sequence">myoracle.ID</param>
</generator>
</id>
如果是联合主键,配置如下:
<composite-id name="personId" class="com.po.PersonId">
<key-property name="name" type="java.lang.String">
<column name="NAME" length="50" />
</key-property>
<key-property name="password" type="java.lang.String">
<column name="PWD" length="10" />
</key-property>
</composite-id>
联合主键类:
package com.po; import java.io.Serializable; import org.apache.commons.lang.builder.HashCodeBuilder; public class PersonId implements Serializable { private String name; private String password; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public boolean equals(Object other){ if(this != other) return false; if(!(other instanceof PersonId)) return false; PersonId persionother=(PersonId)other; if(!this.getName().equals(persionother.getName())) return false; if(!this.getPassword().equals(persionother.getPassword())) return false; return true; } public int hashCode(){ return new HashCodeBuilder() .append(this.getName()) .append(this.getPassword()) .toHashCode(); } }
然后在实体类种加上PersonId personId属性即可(set,get)
相关文章推荐
- hibernate 联合主键生成机制(组合主键XML配置方式)
- hibernate 联合主键生成机制(组合主键XML配置方式)
- hibernate 联合主键应用及配置用xml方式实现
- Hibernate联合主键关联(Annotation配置)
- Hibernate xml配置方法之联合主键
- Hibernate联合主键在实体类中的配置
- hibernate中怎样配置两个联合属性为唯一约束(非联合主键)
- Hibernate xml配置方法 之 联合主键
- 联合主键hibernate配置
- hibernate使用配置文件创建联合主键往MySQL数据库插入数据
- 使用Hibernate配置联合主键的两种方式
- Hibernate联合主键怎样在xml中配置
- Hibernate 联合主键的xml配置
- hibernate笔记-008-联合主键注解配置
- hibernate如何配置联合主键
- hibernate 联合主键 注释配置
- Hibernate 联合主键的配置方法实例
- hibernate联合主键生成策略以及一对多配置
- hibernate 联合主键生成机制(组合主键XML配置方式)
- hibernate 联合主键配置 sid自增