hibernate
文章平均质量分 55
卡卡的喵
这个作者很懒,什么都没留下…
展开
-
hibernate乐观锁例子
1.在数据表中新建一个version字段,可以是int或者是bigint 2.在javabean中增加个version字段 package net.spring.model; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import jav原创 2015-12-24 13:54:54 · 2868 阅读 · 0 评论 -
关于hibernate悲观锁设置方法setLockMode无效而setLockOptions有效的解答
最近在搞数据库的并发问题,开发环境用到了spring+hibernate的架构,数据库是mysql, 在用到悲观锁的时候发现用query.setLockMode("u", LockMode.PESSIMISTIC_WRITE);的方式无法锁定表, 打印的sql语句中也没有for update的字段。 后来换成query.setLockOptions(LockOptions.UPGRADE);原创 2015-12-23 15:03:22 · 7943 阅读 · 1 评论 -
hibernate悲观锁例子
@Transactional(rollbackFor = RuntimeException.class) @Override public void subtract(int id) { Session session = null; try { session = this.getHibernateTemplate().getSessionFactory().get原创 2015-12-23 14:21:45 · 2122 阅读 · 0 评论 -
spring+hibernate事务的两种方式
1.如果session的获取方式是session = this.getSession();这样的,可以用标签或者代码2种方式 (1)标签方式 @Transactional(rollbackFor = RuntimeException.class) @Override public void subtract(int id) { Session session = n原创 2015-12-22 14:48:39 · 731 阅读 · 0 评论 -
No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional
如果session是通过session = this.getHibernateTemplate().getSessionFactory().getCurrentSession(); 这样的方式得到的,那么要在方法加上@Transactional这个标签, 不然的话,会报 org.hibernate.HibernateException: No Hibernate Session bound原创 2015-12-21 16:33:32 · 664 阅读 · 0 评论 -
hibernate 调用存储过程
第一种,传入一个参数,做更新或者删除操作,没有返回值 SQLQuery sqlQuery = this.getSession().createSQLQuery("{call updUser(?)}"); sqlQuery.setInteger(0, 4); sqlQuery.executeUpdate(); 第二种,传入一个参数,做查询操作,返回结果 SQLQuery sqlQuer原创 2014-12-25 14:24:32 · 2201 阅读 · 0 评论 -
hibernate乐观锁catch到异常后该如何处理
我通过hibernate的乐观锁来处理并发的问题,如果有并发问题出现的话,会抛出org.hibernate.StaleObjectStateException这个异常,于是我在service层捕获到了这个异常(这个异常在dao层是捕获不到的),那么问题来了,捕获到这个异常以后该怎么处理呢? 在应用程序中应该捕获该异常,这种异常有两种处理方式 方式一:自动撤销事务,通知用户账户信息已被其原创 2015-12-25 15:49:11 · 5303 阅读 · 0 评论