我正在Spring3和Hibernate3中进行产品构建,我已经更新了这个Hibernate5和Spring5。现在我可以部署应用程序了,但是当我尝试与数据库连接时,会得到“javax.persistence.TransactionRequiredException:no transaction is in progress”
<bean id="sessionFactoryBean"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSourceBean" />
<property name="annotatedClasses">
<!-- The model class is incorporated here -->
<list>
<value>com.test.ab.base.AaUser</value>
<value>com.test.ab.dealer.AaDealer</value>
<list>
<bean id="txManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactoryBean" />
</bean>
public class DatabaseConnection extends HibernateDaoSupport {
public DatabaseConnection (){
}
public static String QUERY_PREFIX_COUNT = "SELECT COUNT(*) ";
protected void applyNamedParameterToQuery(Query queryObject, String paramName, Object value)
throws HibernateException {
if (value instanceof Collection) {
queryObject.setParameterList(paramName, (Collection) value);
}
else if (value instanceof Object[]) {
queryObject.setParameterList(paramName, (Object[]) value);
}
else {
queryObject.setParameter(paramName, value);
}
}
protected String save(Object obj) throws HibernateException {
return getHibernateTemplate().save(obj).toString();
}
protected void update(Object obj) throws HibernateException {
getHibernateTemplate().update(obj);
}
//this is to be used to attached the detached object in session...
protected void merge(Object obj) throws HibernateException {
getHibernateTemplate().merge(obj);
}
protected void saveOrUpdObj(Object obj) throws HibernateException {
getHibernateTemplate().saveOrUpdate(obj);
}
}
您错过了txManager的依赖项注入数据源,因此bean条目应如下所示
<bean id="txManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="dataSource" ref="dataSource"/>
<property name="sessionFactory" ref="sessionFactoryBean" />
</bean>
GuiceModule类: 控制器类: 和StackTrace: 我做错了什么? 谢谢
当我尝试使用spring batch中的作业处理器将从csv文件恢复的一些数据持久化到我的数据库中时,控制台中会出现这个错误,对于我的dao来说,我使用的是hibernate 我已经尝试了2种方法,但同样的问题! 错误:javax.persistence.transactionRequiredException:在org.hibernate.internal.sessionimpl.checktr
问题内容: When I call: 我得到标题中提到的异常。 我正在使用Hibernate JPA。 问题答案: 在我自己遇到这个问题并花了几个小时试图解决这个问题之后,我终于找到了一个原因:Spring有一个错误,并且@如果同一类具有用于自动装配的注释,则无法维护带有注释的事务。 一旦从相关服务类中删除了注释,并且在XML配置中声明了一个适当的bean: 问题解决了。
场景是,我有一个带有spring批处理作业的spring启动应用程序。我正在尝试使用和使批处理作业异步,然后将此taskExecutor分配给JobLauncher。更改后,作业会异步运行,但我在持久化或更新数据库方面遇到了问题: 谢谢你的帮助!
我的服务(使用主数据源的jobExecutor)在从spring MVC控制器调用时运行良好,但是在从调度方法调用时始终抛出“TransactionRequiredException:没有事务正在进行”。原因看起来是从scheduledThreadPool绑定到线程的jdbcTransaction没有像localStatus那样处于活动状态。事务用于主数据源,默认情况下以DataSourceTra