几天都没搞明白 还是事物

08-11-12 heshaowei
环境tomcat

在没用jdon 之前 对于Hibernate 的事物 我都是这样打开和关闭和回滚的

在web.xml 文件配置的过滤器
public class HibernateSessionFilter implements Filter
* (non-Javadoc)
*

* @see javax.servlet.FilterdoFilter(javax.servlet.ServletRequest,
* javax.servlet.ServletResponse, javax.servlet.FilterChain)
*/
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
try {
HibernateUtil.beginTransaction();
chain.doFilter(req, resp);
//commiatTransaction 方法
//在这里提交 或回滚
HibernateUtil.commitTransaction();
} catch (Exception e) {
e.printStackTrace();
} finally {
HibernateUtil.closeSession();
}

}
HibernateUtil。java

public static void commitTransaction() {
Transaction tx = (Transaction) threadTransaction.get();
try {
if (tx != null && !tx.wasCommitted() && !tx.wasRolledBack())
tx.commit();
} catch (HibernateException ex) {
System.out.println(ex.toString());
rollbackTransaction();
}

threadTransaction.set(null);
}


public static void rollbackTransaction() {
Transaction tx = (Transaction) threadTransaction.get();

threadTransaction.set(null);
if (tx != null && !tx.wasCommitted() && !tx.wasRolledBack())
tx.rollback();
}



在JDON 中操作 hibernate 我怎么搞都没明白我在哪 回滚的好

我用的例子是struts_jdon_hibernate3_TEMPLATE 模板
结构
jsp -struts ->service(interface)->serviceImp ->dao(interface) ->daoimp

主要的操作 都在serviceImp (一些方法中都有 更新+插入 ) 中 有时有要用到自己的action 类

配置了
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>
com.jdon.persistence.hibernate.CloseSessionInViewFilter
</filter-class>
</filter>

=====================
哪位大哥告诉我下 怎么回滚和提交事物啊
具体的代码 


banq
2008-11-14 10:38
参考下面

http://www.jdon.com/jivejdon/thread/34900.html