主键生成方式
来源:互联网 发布:在mac上拖拽文件 编辑:程序博客网 时间:2024/05/16 05:40
native ------- 根据底层数据库判断自行使用idenyity sequence hilo 等中的一种sequence 时默认的seq名为 hibernate_sequence
uuid -------- 必须是的字符串,数据库中字段要大于32位
identity --------- 必须是整型 数据库有自增长功能
increment --------- 主键顺序递增推荐使用 可以跨平台
assigned --------- 可以Set Id 所以setId就不能是private的了
seqhilo --------- 支持sequence的hilo算法
foreign ---------- 一对一是主键生成规则
用法如下:
<hibernate-mapping>
<class name="com.pannuo.entity.User" table="tb_user">
<id name="userId" column="USERID" type="int">
<generator class="native"/>
</id>
</class>
</hibernate-mapping>
sequence (数据库支持)(IBM DB2,Oracle)
如下:
<id name="userId" column="USERID" type="int">
<generator class="sequence">
<param name="sequence">my_sequence</param>
<param name="parameters">INCREMENT BY 1 START WITH 1</param>
</generator>
</id>
hilo 算法(可以使用到任何数据库 算法需要两张表)
如下:
<id name="userId" column="USERID" type="int">
<generator class="hilo">
<param name="table">tb_hi</param>
<param name="column">nextvalue</param>
<param name="max_lo">0</param>
</generator>
</id>
tb_hi(nextvalue int)
联合主键
<composite-id>
<key-property name="userId" column="USERID" type="string"/>
<key-property name="userName" column="USERNAME" type="string"/>
</composite-id>
Session get(User,UserS)UserS要setId 和 setName
也可以把联合主键拿出来作为一个主键类UserPK配置如下:
<composite-id name="userPK" class="com.pannuo.entity.UserPK"
unsaved-value="any">
<key-property name="userId" column="USERID" type="string"/>
<key-property name="userName" column="USERNAME" type="string"/>
</composite-id>
Session get(User,PK)PK要setId 和 setName
重写
@Override
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof UserA)) {
return false;
}
UserA user = (UserA)obj;
return new EqualsBuilder()
.append(this.userId, user.getUserId())
.append(this.userName, user.getUserName())
.isEquals();
}
@Override
public int hashCode() {
return new HashCodeBuilder()
.append(this.userId)
.append(this.userName)
.toHashCode();
}
- 数据主键生成方式
- Hibernate主键生成方式
- Hibernate 主键生成方式
- hibernate主键生成方式
- Hibernate主键生成方式
- Hibernate 主键生成方式
- Hibernate 主键生成方式
- Hibernate主键生成方式
- Hibernate 主键生成方式
- Hibernate主键生成方式
- Hibernate主键生成方式
- Hibernate 主键生成方式
- 主键生成方式
- hibernate主键生成方式
- oracle主键生成方式
- hibernate 主键生成方式
- hibernate 主键生成方式
- Hibernate主键生成方式
- DOS命令
- sql数据库备份和恢复
- 配置
- 数据库基础
- 近段工作的思考
- 主键生成方式
- 学习Oracle动态性能表-V$SYSSTAT
- 队列类(范型)
- 从Hint 谈游戏中扩展文本控件
- 寻找.net初级教程
- 从事程序员的体会
- 人和人之间信任的前提
- 努力. 为了那些触手可及的东西。。。。
- pku 3368 Frequent values(转换,RMQ)