【发布时间】:2012-04-13 22:21:04
【问题描述】:
我的 webapp (Spring3 + Hibernate3) 总是使用带有 @Transactional 注释的服务类和这个配置:
<tx:annotation-driven transaction-manager="transactionManager" />
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="mySessionFactory" />
</bean>
现在...我在 Google AppEngine 上。由于一些我还不知道的讨厌的原因,@Transactional 不起作用。它在 javax.naming 中使用了一些没有被列入白名单的类。最后是:
创建名为“mySessionFactory”的 bean 时出错:后处理 FactoryBean 的对象失败;嵌套异常是 java.lang.SecurityException:无法获取类的成员 org.hibernate.impl.SessionFactoryImpl
请不要问我为什么.... :-\
使用 Spring 的 HibernateTemplate 而不是我的 dao(使用原始会话工厂)解决了这个问题,但我知道它有点过时了。
所以,我想尝试使用手动旧式交易。问题:
- 在哪里?我想将事务保留在服务层中。
- 怎么样?
【问题讨论】:
标签: spring hibernate google-app-engine transactions