【问题标题】:SimpleAsyncTaskExecutor : throws org.springframework.dao.InvalidDataAccessApiUsageException & javax.persistence.TransactionRequiredExceptionSimpleAsyncTaskExecutor:抛出 org.springframework.dao.InvalidDataAccessApiUsageException & javax.persistence.TransactionRequiredException
【发布时间】:2015-11-02 14:21:14
【问题描述】:

我正在实现 SimpleAsyncTaskExecutor。当我插入或更新数据库时,它会抛出以下异常 org.springframework.dao.InvalidDataAccessApiUsageException:执行更新/删除查询;嵌套异常是 javax.persistence.TransactionRequiredException: Executing an update/delete query errors。

spring-asyn-context.xml

<bean id="applicationEventMulticaster"
    class="org.springframework.context.event.SimpleApplicationEventMulticaster">
    <property name="taskExecutor" >
        <bean class="org.springframework.core.task.SimpleAsyncTaskExecutor"></bean>
    </property>
</bean>

错误详情:

【问题讨论】:

    标签: java spring hibernate jpa


    【解决方案1】:

    当您跳转到新线程时,您不再有休眠会话。您需要在执行操作之前重新建立会话/EJBContext/PersistenceContext/Transaction 上下文。如果您发布一些代码,我可以告诉您哪些以及如何发布。

    【讨论】:

    • 我的问题是缺少 onApplicationEvent() 方法中的@Override。
    猜你喜欢
    • 2013-07-27
    • 1970-01-01
    • 2018-05-30
    • 2019-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 1970-01-01
    相关资源
    最近更新 更多