ssh框架dao层(JAVA开发,SSH框架异常处理,DAO层和Service层到底要不要抛异常)

本文目录
JAVA开发,SSH框架异常处理,DAO层和Service层到底要不要抛异常
dao 通常是不处理异常的,否则在 service 这层事物拦截会出问题
至于 service 到 action 是不是抛看设计,通常是抛,但应该不是最初的那一个
如何在ssh框架和activemq下调用dao层的插入方法
根据你的描述,大概明白你的意思了,弱弱的问一下你的add真的插入成功了吗?我觉得你再试一试,因为你所用的getSession()方法只是得到hibernate的session,而session本身没有transaction不能插入,这是Hibernate中明确的,查看HibernateSupportDao的API可以发现
Obtain a Hibernate Session, either from the current transaction or a new one. The latter is only allowed if the "allowCreate" setting of this bean’s HibernateTemplate is "true".
意思是,不论从当前的Transaction还是新的Transaction,spring只返回一个session,你用的ssh,单独用过hibernate和spring吗?hibernate中session.save(OBJ)还需要提供一个transaction.commit()的方法,而session中createQuery方法在不提供transaction的时候只能进行查询,不能进行修改,插入和删除。
而HibernateTemplate不一样,HibernateTemplate出现在spring中,spring将HibernateTemplate封装为HibernateSupportDao实例,所以这个HibernateTemplate包括一切Hibernate,而不仅仅只是Session。
关于BaiduHi的补充
在session.save()时,hibernate会认为这是一个事务(transaction),如果之前没有事务,这个save是不可能成功的,必须通过session.beginTransaction()创建一个事务,因为没有事务意味着不能进行操作,可能由于你测试时其他原因,有了相应的事务,所以不需要再提供事务。(个人猜想)
请参照Hibernate API
ssh 集成框架 dao层 如何使用session
让action继承HibernateDaoSupport这个类,就可以了,然后在spring的配置文件中添加对sessionFactory的属性依赖,试试吧,应该可以!

更多文章:
rediculous什么意思(ridiculous是什么意思)
2025年5月31日 11:00
企业网站托管(为什么要做网站优化托管,企业网站托管有什么好处)
2025年8月2日 06:00
checkbox选中怎么设置(layui中的table checkbox 默认选中设置)
2026年5月14日 12:00
python的shell怎么运行文件(如何用python shell运行.py文件)
2026年9月6日 05:00
linux 模糊查找文件(Linux中在当前目录下查找某个文件)
2026年1月28日 02:45
bind函数绑定端口错误(程序关闭后马上启动,为什么导致listen socket绑定地址(bind) 失败)
2025年7月9日 13:00
external file changes sync may(使命召唤5 提示错误报告)
2026年9月7日 02:15
multisim中555定时器在哪(555芯片在multisim在哪里找)
2025年7月9日 18:30















