Hibernate框架学习_Hibernate_POJO实体类规则

注意类型

1.持久化类提供无参构造 (也就是说要么别写构造方法,要么就要在写其他带参数的构造方法时也要写一个无参的

2.成员变量私有,提供get/set方法访问成员变量,即提供属性(属性=成员变量+get/set方法)

3.持久化类中的属性应该尽量使用包装类(这样我们就多出了一个null的选项,而没有什么坏处)

4.持久化类需要提供与数据库中的主键列对应的属性,例如o_id

5.不要使用final来修饰class(hibernate使用cglib代理生成代理对象,代理对象是继承被代理对象的,如果使用final,则无法代理)

主键类型分类

自然主键(少):表的某一列符合必须有且唯一的特征,该列可以作为主键使用.比如身份证

代理主键(常用):没有自然主键,需要创建一个没有业务意义的列作为主键

主键生成策略(7种)

主键生成策略就是实体类配置中的<generator>标签,每条记录生成时,主键的生成规则.

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

sequence:Oracle的主键生成策略

increment:主键自增,由hibernate来维护,每次插入前会先查询主键id的最大值然后+1

hilo:高低位算法,主键自增,由hibernate来维护,不使用,主要时hibernate装逼用的.

native:hilo+sequence+identity三选一

uuid:产生随机的字符串作为主键,但是主键类型要为字符串类型

assigned:自然主键策略,hibernate不维护(用户自己指定主键,如果没有指定会报错)

注意:只有assigned是自然主键,其余的都是代理主键.

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值