SSH整合好后,调用DAO中的save方法不能把数据保存到数据库

测试代码:publicstaticvoidmain(String[]args){ApplicationContextctx=newClassPathXmlApplicat... 测试代码:
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
SessionFactory sf = (SessionFactory) ctx.getBean("sessionFactory");
JueseDAO jsd = (JueseDAO) ctx.getBean("JueseDAO");
Juese js = new Juese();
js.setDh("001");
js.setName("系统管理员");
Session s=sf.openSession();
Transaction tr = s.beginTransaction();
try{
jsd.save(js);
tr.commit();
}catch(Exception e){
tr.rollback();
e.printStackTrace();
}finally{
s.close();
}
}
DAO中的save方法代码:
public void save(Juese transientInstance) {
log.debug("saving Juese instance");
try {
getHibernateTemplate().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
lin_chuhao
2013-11-08 · TA获得超过352个赞
知道小有建树答主
回答量:572
采纳率:57%
帮助的人:138万
展开全部
亲 你没有commit save之后要commit一下
追问
jsd.save(js);
tr.commit();
我这不是commit;了么?
难得commit要放到DAO里么?
追答
貌似是 这里的tr用的是新的session
Session s=sf.openSession();
这个s没有和你的dao绑在一起
你看看dao里面有没有session要用那个才行
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神话ZXCV
2013-11-08 · 超过33用户采纳过TA的回答
知道答主
回答量:111
采纳率:0%
帮助的人:63.9万
展开全部
事物你配好了么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
love等于zero
2018-07-19 · TA获得超过261个赞
知道小有建树答主
回答量:283
采纳率:100%
帮助的人:115万
展开全部
@Resource
private SessionFactory sessionFactory;
Class<T> entityClass;
protected Log log = LogFactory.getLog(this.getClass());
// private static Logger logger = Logger.getLogger(Test.class);
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public Session getSession() {
return sessionFactory.getCurrentSession();
}
交给spring 自动处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式