Hibernate文档笔记

自定义基本类型

即除了hibernate自带的基本类型,自定义Java类型与SQL类型绑定
1、实现BasicType接口并注册
2、实现UserType接口不需要类型注册

映射枚举

@Enumerated

属性转换器

AttributeConverter接口,重写convertToDatabaseColumn、convertToEntityAttribute方法,打上@Convert

Date类型格式化

@Temporal,打在date类型字段
1、@Temporal(TemporalType.DATE)——》实体类会封装成日期“yyyy-MM-dd”的 Date类型。
2、@Temporal(TemporalType.TIME)——》实体类会封装成时间“hh-MM-ss”的 Date类型。
3、@Temporal(TemporalType.TIMESTAMP)——》实体类会封装成完整的时间“yyyy-MM-dd hh:MM:ss”的 Date类型。

属性生成

@Generated:实体持久化或者更新时,hibernate从数据获取数据生成属性,貌似不用持久化打注解的那个字段
@GeneratorType:实体持久化或者更新时,通过自定义生成器来设置当前注解属性的值
@CreationTimestamp:插入时自动赋值时间
@UpdateTimestamp:更新时自动赋值时间

列转换器:读写表达式

@ColumnTransformer(read = “quantity / 100”, write = “? * 1000”)

虚拟列,可通过配置计算赋值

@Formula

实体动态插入

@DynamicInsert

实体动态更新

@DynamicUpdate

懒加载

@Basic(fetch = FetchType.LAZY)
hibernate默认不对@Basic处理,需要字节码增强
不同属性懒加载:@LazyGroup

乐观锁

@Version
@OptimisticLock

悲观锁

@Lock

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值