hibernate save 没有反应

Super赛亚人 2015-10-13 03:55:27
service层调用基类的dao.save方法,没有插入数据

dao中是session.merge(Object o), 不知道是不是事物没有提交

但是我已经在配置文件中配置了事物,注解式和声明式都有,不知道是不是冲突了。还是其它原因


dao中的save方法


package com.ok.csv.dao.hibernate;
@SuppressWarnings("unchecked")
public T save(T object) {
Session sess = getSession();
return (T) sess.merge(object);
}


配置文件如下


<tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>


<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="insert*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="delete*" propagation="REQUIRED" />
<tx:method name="remove*" propagation="REQUIRED" />
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="get*" propagation="REQUIRED" read-only="true" />
<tx:method name="query*" propagation="REQUIRED" read-only="true" />
<tx:method name="*" propagation="REQUIRED" read-only="true" />
</tx:attributes>
</tx:advice>
<aop:config proxy-target-class="true">
<aop:advisor advice-ref="txAdvice"
pointcut="execution(* com.ok.csv.dao.hibernate.*.*(..))" />
</aop:config>

...全文
167 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sinat_31535993 2015-10-19
  • 打赏
  • 举报
回复
事务管理已经交给spring,session应从sessionfactory中getcurrtsession()方法得到
qq_21319173 2015-10-13
  • 打赏
  • 举报
回复
你这个位置用了AOP。spring已经帮你管理事物了。你为什么还要手动开启Session呢?你这个位置用getHibernateTemplate().saveOrUpdate(instance); 。

67,513

社区成员

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

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