spring中,如何判断hibernate事务是否成功

巫医风子 2008-11-09 08:52:56
我是使用spring的编程式事务管理hibernate,很困恼的是,hibernate的事务都交给spring处理了,那我们在做操作的时候,如何知道操作是否成功?新手,对spring不熟悉。
比如这样子的一个:
-------------applicationContext.xml文件如下(有些内容省略掉了)
<beans>
<bean id="dataSource">
<!-- 略 -->
</bean>
<bean id="sessionFactory">
<!-- 略 -->
</bean>
<bean id="hibernateTemplate"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="DAOsupport" class="org.lxh.ssh.DAOSupport">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
</beans>
---------------------------------------------------------
public class DAOSupport extends HibernateDaoSupport {
public void insert(Person person) {
this.getSession().save(person) ;
}
}

public class TestDemo {
public static void main(String[] args) {
ApplicationContext ctx = null ;
ctx = new ClassPathXmlApplicationContext("applicationContext.xml") ;
DAOSupport dao = (DAOSupport)ctx.getBean("DAOsupport") ;
Person per = new Person() ;
per.setName("fengzi") ;
per.setPassword("zzzzzz") ;
dao.insert(per) ; //如何判断这边是否操作成功或失败
}
}
问题是这样的:
pdi.insert(per) ; //如何判断这边是否操作成功或失败
我该怎么样该insert方法?
大虾们,帮帮
...全文
395 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
巫医风子 2008-11-12
  • 打赏
  • 举报
回复
谢喽,买了本spring in action
偶看看先
新手,不熟悉。。。
boboo_2000_0 2008-11-10
  • 打赏
  • 举报
回复
楼主的事物处理并没有在xml文件中配置,要是写在代码中的话2楼的做法是可行的,对数据库操作如果成功便会提交,否则便会回滚。
巫医风子 2008-11-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 Landor2004 的回复:]
你不是用spring的编程式事务吗,编程式事务有两种方式实现
1 回调
2 就是上面的方式

你没看懂这个,怎么用的编程事务?
[/Quote]
=.=偶再看看
谢谢
Landor2004 2008-11-10
  • 打赏
  • 举报
回复
你不是用spring的编程式事务吗,编程式事务有两种方式实现
1 回调
2 就是上面的方式

你没看懂这个,怎么用的编程事务?
巫医风子 2008-11-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Landor2004 的回复:]
Java codeDefaultTransactionDefinition def = new DefaultTransactionDefinition();
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);

TransactionStatus status = txManager.getTransaction(def);
try {
// execute your business logic here
}
catch (MyException ex) {
txManager.rollback(status);
throw ex;
}
txManager.commit(status);
[/Quote]
没看懂。。。
Landor2004 2008-11-09
  • 打赏
  • 举报
回复
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);

TransactionStatus status = txManager.getTransaction(def);
try {
// execute your business logic here
}
catch (MyException ex) {
txManager.rollback(status);
throw ex;
}
txManager.commit(status);
ZHANGBINFLY 2008-11-09
  • 打赏
  • 举报
回复
up,看看数据库如果有就成功了,否则失败

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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