请教!!! 为何我的spring 不调用啊!!! 求解释!! 谢谢

qswdcs 2012-02-23 03:15:11
<!-- 配置Hibernate的局部事务管理器,使用HibernateTransactionManager类 -->
<!-- 该类实现PlatformTransactionManager接口,是针对Hibernate的特定实现-->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<!-- 配置HibernateTransactionManager时需要依注入SessionFactory的引用 -->
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- 配置事务增强处理,指定事务管理器 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<!-- 用于配置详细的事务语义 -->
<tx:attributes>
<!-- 所有以'get'开头的方法是read-only的 -->
<!--<tx:method name="readExcel" read-only="true"/>
<tx:method name="readExcel" />-->
<tx:method name="*" />
</tx:attributes>
</tx:advice>
<aop:config proxy-target-class="true">
<aop:advisor pointcut="execution(* dao.xlsDao.*.*(..))"
advice-ref="txAdvice" />
</aop:config>
以上是配置文件!!! 我现在做的是把xls 中的数据导入到数据库中 可能有很多张表! 很多条数据 这期间也涉及到 有可能是修改 有可能是添加! 所以我谢了一个事务!!!!希望能达到一个回滚的效果!!! 但是 效果没有达到!!! 请各位高人给以解决啊!!!! 谢谢大家啊!!!!!

package dao;

import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.ds.dq.v_facility;

import v.SessionManagerService;

public class xlsDao {
public <T> List xls(String filter) {
// TODO Auto-generated method stub
Session session = null;
int count = 0;
try {
Query q = null;
session = SessionManagerService.getSession();
q = session.createSQLQuery(" SELECT distinct column_name FROM `information_schema`.`COLUMNS` where `TABLE_NAME`='" +
filter+
"' order by COLUMN_NAME");
// count = Integer.parseInt(q.list().get(0)+ "");
// System.out.println("count:"+count);
// System.out.println("是:"+q.list());
return q.list();
} finally {
if (session != null)
session.close();
}
}
public <T> T findById(long id, Class<T> entityClass) {
Session session = null;
try {
session = SessionManagerService.getSession();
T entity = (T) session.get(entityClass, id);
return entity;
} finally {
if (session != null)
session.close();
}
}

public <T> T findById(int id, Class<T> entityClass) {
Session session = null;
try {
session = SessionManagerService.getSession();
T entity = (T) session.get(entityClass, id);
return entity;
} finally {
if (session != null)
session.close();
}
}

// public <T> T findByfr(String fr, Class<T> entityClass) {
// Session session = null;
// try {
// session = SessionManagerService.getSession();
// T entity = (T) session.get(entityClass, fr);
// return entity;
// } finally {
// if (session != null)
// session.close();
// }
// }

public <T> T update(T entity) {
Transaction tran = null;
Session session = null;
try {
session = SessionManagerService.getSession();
tran = session.beginTransaction();
session.update(entity);
tran.commit();
} catch (HibernateException e) {
e.printStackTrace();
if (tran != null)
tran.rollback();
} finally {
if (session != null)
session.close();
}
return entity;
}

public <T> T create(T entity) {
Transaction tran = null;
Session session = null;
try {
session = SessionManagerService.getSession();
tran = session.beginTransaction();
session.save(entity);
tran.commit();
} catch (HibernateException e) {
e.printStackTrace();
if (tran != null)
tran.rollback();
} finally {
if (session != null)
session.close();
}
return entity;
}
}
...全文
51 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

67,550

社区成员

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

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