<我的智囊团>事务管理 询问

jinchun1234 2010-09-26 02:42:11
我的智囊团采用了ssh架构,看了下spring 的配置文件,也没有配置
<!-- 配置事务管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>

services中只是集成了HibernateDaoSupport
public class IAdminDAOImpl extends HibernateDaoSupport

public void delete(String adminid) throws Exception {
String hql = "DELETE FROM Admin WHERE adminid=?";
Query q = super.getSession().createQuery(hql);
q.setString(0, adminid);
q.executeUpdate();
}


}


请问使用spring的事务了吗?

HibernateDaoSupport 自己对事务有封装?
不是太明白到底事务怎么控制的。请告诉解释下!!谢谢!!或者QQ交流,会多给分的哦!!!
...全文
173 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
striveforit 2010-09-26
  • 打赏
  • 举报
回复
我是初学的,只说下自己知道的吧
里面使用的是getSession(),在这个层面上是没用Spring的,建议使用getHibernateTemplate()

理由如下:(参见http://topic.csdn.net/u/20091208/16/ade8da0a-7a4d-423b-9d25-bd95c171b450.html)
1.使用getSession()方法你只要继承sessionFactory,而使用getHibernateTemplate()方法必须继承HibernateDaoSupport当然包括sessionFactory,这点区别都不是特别重要的,下面这些区别就很重要了

2.getSession()方法是没有经过spring包装的,spring会把最原始的session给你,在使用完之后必须自己调用相应的close方法,而且也不会对声明式事务进行相应的管理,一旦没有及时关闭连接,就会导致数据库连接池的连接数溢出,getHibernateTemplate()方法是经过spring封装的,例如添加相应的声明式事务管理,由spring管理相应的连接。

在实际的使用过程中发现的确getHibernateTemplate()比getSession()方法要好很多,但是有些方法在getHibernateTemplate()并没有提供,这时我们用HibernateCallback 回调的方法管理数据库.
youjianbo_han_87 2010-09-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jinchun1234 的回复:]

引用 1 楼 youjianbo_han_87 的回复:
上面的配置只是一部分,不全。。。

Spring和Hibernate已经出来N年了,随便 Google...一下,也能得到好几种解决方案。

楼主2 00分,太大方了。。。


麻烦你看清楚我问的什么再回答。ok??
[/Quote]

已经给了你答案了(Google...) 麻烦你看清楚。。。
kala197 2010-09-26
  • 打赏
  • 举报
回复
hibernate 只对声明了的异常进行回滚 在掉数据库操作方法时要try
还有就是 在配置文件里面指定使用事务的方法的名称 比如 save* save开头的 方法
额 我忘了怎么弄了 回家看看原来的项目 大概就是上面说的
myhope88 2010-09-26
  • 打赏
  • 举报
回复
除这个设置之外,好像还有设置一个自动提交事务的配置吧
jinchun1234 2010-09-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 andesen 的回复:]
只有这么点配置吗
看看.xml哪里还有对transactionManager的引用

或者方法上面加注解的
[/Quote]
我是说没有这样的配置
<!-- 配置事务管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
andesen 2010-09-26
  • 打赏
  • 举报
回复
只有这么点配置吗
看看.xml哪里还有对transactionManager的引用

或者方法上面加注解的
jinchun1234 2010-09-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 youjianbo_han_87 的回复:]
上面的配置只是一部分,不全。。。

Spring和Hibernate已经出来N年了,随便 Google...一下,也能得到好几种解决方案。

楼主2 00分,太大方了。。。
[/Quote]

麻烦你看清楚我问的什么再回答。ok??
soli11722984 2010-09-26
  • 打赏
  • 举报
回复
应该是有类似AOP的东西存在
youjianbo_han_87 2010-09-26
  • 打赏
  • 举报
回复
上面的配置只是一部分,不全。。。

Spring和Hibernate已经出来N年了,随便 Google...一下,也能得到好几种解决方案。

楼主2 00分,太大方了。。。
内容概要:本文围绕基于Boost MPPT与双PI闭环双向DC-DC的离网光伏储能系统展开,系统性地研究了其动力学建模与稳态特性分析,并通过Simulink平台实现了完整的仿真验证。研究构建了涵盖光伏阵列、最大功率点跟踪(MPPT)控制、双向DC-DC变换器及储能电池的整体系统架构,采用Boost电路实现高效MPPT控制,并引入电压-电流双闭环PI控制策略,实现对储能系统精确的充放电管理。文章深入分析了系统在光照强度与环境温度双重扰动下的动态响应与稳态性能,验证了所提出模型的准确性与控制策略在不同工况下的鲁棒性与有效性,为离网光伏储能系统的优化设计与工程应用提供了坚实的理论基础和仿真依据。; 适合人群:具备电力电子技术、新能源系统或自动控制理论等相关专业知识背景,从事光伏储能系统、微电网或可再生能源领域研究与仿真的研究生、科研人员及工程技术人员。; 使用场景及目标:① 掌握离网光伏储能系统的完整建模方法与关键参数设计流程;② 深入理解Boost电路MPPT控制与双向DC-DC变换器双PI闭环控制的协同工作机制与实现细节;③ 通过Simulink仿真分析系统在光照突变、温度变化等动态扰动下的稳态特性、电压稳定性和能量管理性能;④ 为实际离网系统的控制器设计、参数整定及性能优化提供可靠的理论指导和仿真验证手段。; 阅读建议:建议结合提供的Simulink仿真模型同步学习,重点关注MPPT算法的实现逻辑、双PI控制器的参数整定方法以及系统在不同环境条件和负载变化下的响应特性,可在此基础上进一步探索多目标优化控制或智能控制策略的应用。

81,111

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧