hibernate中实体相关内容总结

创建实体类时的注意事项:

1.持久化类提供无参数构造

2.成员变量私有,提供共有的get/set方法访问,需提供属性

3.持久化类中的属性,应尽量使用包装类型

4.持久化类需要提供oid,与数据库中的主键列对应

5.不要用final修饰class


主键类型:

1.自然主键:表的业务列中,某列符合不为空并且不能重复的特征,该列可以作为主键使用。 很少用到,例如身份证号码

2.代理主键:表的业务列中,没有符合自然主键的,可以创建一个没有业务意义的列作为主键。


主键生成策略:记录保存到数据库时,主键的生成规则

1.identity: 主键自增,由数据库来维护主键值,录入时不需要指定主键

2.increment: 主键自增,由hibernate来维护主键值,每次插入数据前先查询id的最大值,在此基础上+1作为新的主键值,开发时不使用

3.sequence: Oracle中的主键生成策略

4.hilo: 高低位算法,主键自增,由hibernate维护,开发时不使用

5.native: hilo+sequence+identity自动三选一

6.uuid: 产生随机字符串作为主键,主键类型必须为String类型

7.assigned 自然主键生成策略,hibernate不会管理主键值,开发人员自定义


对象的三种状态:

1.瞬时状态:没有id,没有与session相关联

2.持久化状态:持久化状态对象的任何变化都会自动同步到数据库中

3.游离托管状态:有id,没有与session相关联


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值