悲观锁
给Session.load()方法第三个参数赋值
LockMode.UPGRADE 相当于sql的for update的实现
LockMode.UPGRADE_NOWAIT 相当于Oracle的for update nowait的实现
-----------------------------------
乐观所
POJO类中添加version控制字段
XML配置方式
*.hbm.xml配置文件<class>标签中添加属性optimistic-lock="version"
<class>添加子节点
<version name="version" />
注解配置方式
在version的get方法前添加@Version
-----------------------------------
1+N问题
该问题为多对一关系时,使用饥饿加载,关联表会产生多跳查询语句,
实际1条SQL就能查出想要结果。
多方通过左连接 left join fetch 解决1+N问题
给Session.load()方法第三个参数赋值
LockMode.UPGRADE 相当于sql的for update的实现
LockMode.UPGRADE_NOWAIT 相当于Oracle的for update nowait的实现
-----------------------------------
乐观所
POJO类中添加version控制字段
XML配置方式
*.hbm.xml配置文件<class>标签中添加属性optimistic-lock="version"
<class>添加子节点
<version name="version" />
注解配置方式
在version的get方法前添加@Version
-----------------------------------
1+N问题
该问题为多对一关系时,使用饥饿加载,关联表会产生多跳查询语句,
实际1条SQL就能查出想要结果。
多方通过左连接 left join fetch 解决1+N问题