hibernate小知识点总结--持续更新
2017-06-09 08:51
363 查看
1. hibernate中只更新部分字段
hibernate中如果直接使用update 或者 saveOrUpdate方法,会把表中所有的字段更新一遍。
但是修改时,form表单只提交需要更新的字段.
解决方法:
在不需要更新的字段(如创建时间,id)上,加上updae="false"
示例:
注解方式
xml配置:
2. hibernate的悲观锁和乐观锁
hibernate的乐观锁:在表中增加一个version字段,当提交数据时,从表中获取version的值,跟现在的versioon进行对比.如果现有的versioon小于表中的version,则说明有人提前进行了提交,则取消此次操作。否则,正常操作。
hibernate的悲观锁:通过数据库的机制来进行加锁
示例:select * from account where name = "12345" for update,通过for update子句,这条SQL锁定了account表中所有符合检索条件的记录。本次事务提交之前(事务提交时会释放事务过程中的锁),外界无法修改这些记录。
下面的代码实现了对查询记录的加锁:
String hqlStr = "from TUser as user where user.name='123456'";
Query query = session.createQuery(hqlStr);
query.setLockMode("user",LockMode.UPDATE);//加锁
List userList = query.list();
3. load与get的区别
http://www.cnblogs.com/xiaoluo501395377/p/3371776.html
--未完待续----
hibernate中如果直接使用update 或者 saveOrUpdate方法,会把表中所有的字段更新一遍。
但是修改时,form表单只提交需要更新的字段.
解决方法:
在不需要更新的字段(如创建时间,id)上,加上updae="false"
示例:
注解方式
@Column(name="created_time",updatable=false) public Date getCreateTime() { return createTime; }或者
xml配置:
<property name="createtTime" column="created_time" update="false"></property>
2. hibernate的悲观锁和乐观锁
hibernate的乐观锁:在表中增加一个version字段,当提交数据时,从表中获取version的值,跟现在的versioon进行对比.如果现有的versioon小于表中的version,则说明有人提前进行了提交,则取消此次操作。否则,正常操作。
hibernate的悲观锁:通过数据库的机制来进行加锁
示例:select * from account where name = "12345" for update,通过for update子句,这条SQL锁定了account表中所有符合检索条件的记录。本次事务提交之前(事务提交时会释放事务过程中的锁),外界无法修改这些记录。
Hibernate 的悲观锁,也是基于数据库的锁机制实现。
下面的代码实现了对查询记录的加锁:String hqlStr = "from TUser as user where user.name='123456'";
Query query = session.createQuery(hqlStr);
query.setLockMode("user",LockMode.UPDATE);//加锁
List userList = query.list();
3. load与get的区别
http://www.cnblogs.com/xiaoluo501395377/p/3371776.html
--未完待续----
相关文章推荐
- Mysql 知识点总结(持续更新)
- IOS学习中的一些小知识点总结(持续更新)
- Hibernate-部分知识点概述(持续更新)
- 【JavaScript 基础知识】一篇关于 JavaScript 一些知识点的总结 —— 持续更新
- Android开发知识点总结(持续更新)
- Android for myself新增知识点总结(保持持续更新)
- c++知识点总结(仅限个人)持续更新。。。。
- JavaEE开发中Hibernate使用小技巧总结(持续更新)
- 机器学习实战项目里面 常出现概念知识点总结(持续更新)
- Flash/AS3 知识点总结(持续更新)
- js中一些小知识点总结--持续更新
- 易错java知识点总结(持续更新)
- 小白记录~Hibernate对象关系总结(只是对xml文件中各种标签的解释,如未全,持续更新)
- 小技术知识点总结[持续更新...]
- Hibernate学习_002_web开发中一些剪不断、理还乱的关系总结(持续更新)
- java知识点总结(持续更新)
- 关于UITableView的一些细小的知识点总结(持续更新)
- python小知识点总结(持续更新中)
- iOS开发已已错已忘知识点总结,持续更新中,,,