session.commit(); .........提交是事务,不是SESSION
因改写成
session.beginTransaction.commit();
因改写成
session.beginTransaction.commit();
解决方案 »
- struts2中文乱码,求解决方法
- hibernate使用配置文件调用多参数oracel存储过程问题
- UrlRewrite 上面的正则表达式
- 关于JAVA同时执行多条SQL语句
- java连接局域网内的SQL Server2005数据库
- structs中实现文件上传。有兴趣的麻烦指导一下。
- 为提升j2me版的人气偶将陆续贴一些 j2me常见问题解决以免重复提问(socket无法并行,不能同时上下解决)
- 是不是hibernate在实际使用的时候,还要被dao封装一层?
- java 循环处理txt文本数据添加到Excel文件中去,代码怎么写
- Spring定时器执行一个方法,方法内调用Dao接口的实现类,Dao通过Spring框架注入,但是执行后输出值
- hibernate 中query的使用疑问?
- spring代理service时抛出异常。
Session session = getSession();
Transaction tr = session.beginTransaction();
session.save(o);
tr.commit();
你在每个session.commit()前面写上:session.flush();
这样也符合楼主本来的逻辑了,就OK了;当然,楼上几位答案同样正确,走正规路线~~~;
Transaction tran = session.beginTransaction();
//提交
tran.commit();
或者你用Spring来声明Hibernate的事务
this.getHibernateTemplate().save(user); --------------------------------------------------------package com.east.spring.manager.impl;import java.util.Date;
import java.util.Vector;import org.hibernate.Session;
import org.hibernate.Transaction;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import com.east.spring.manager.LogManager;
import com.east.spring.manager.UserManager;
import com.east.spring.model.Log;
import com.east.spring.model.User;
import com.east.spring.util.HibernateUtil;/**
* @author:East(张栋芳)
* @date:Nov 27, 2008
* @content:对userManager接口的实现通过Spring声明事务,就不要定义事务,和session
* HibernateDaoSupport这个类是对Session和Sessionfactory信息的封装
*/public class UserManagerImpl extends HibernateDaoSupport implements UserManager {
//使用注入的方式来获的logManager,就不需要new了,
private LogManager logManager = null;
public LogManager getLogManager() {
return logManager;
} public void setLogManager(LogManager logManager) {
this.logManager = logManager;
} /**
* 新增用户
* @param user
* @return void
*/
public void addUser(User user) {
//这个方法要注入SessionFactory
this.getHibernateTemplate().save(user);
//在保存user的同时,还要保存日志信息
Log log = new Log();
log.setId(2);
log.setType("安全日志");
log.setDetail(user.getName()+"用户被创建了");
log.setTime(new Date());
logManager.addLog(log);
}
/**
* 查询所有用户
* @param void
* @return Vector<User>
*/
public Vector<User> selectUser() {
return null;
}
/**
* 修改用户
* @param user
* @return void
*/
public void updateUser(User user) {
} }