gpt4 book ai didi

java - Spring Data Streaming 查询在使用 JTA 的 JBoss 7 上不会引发事务错误

转载 作者:行者123 更新时间:2023-12-02 12:09:05 26 4
gpt4 key购买 nike

我正在尝试将 Spring Data 与我的 Java EE 应用程序集成。我正在将其部署到 JBoss 7.0。我有一个调用数据访问对象操作的 EJB,但即使我的 EJB 有一个正在运行的容器管理事务,仍然会抛出以下异常。

org.springframework.dao.InvalidDataAccessApiUsageException: You're trying to execute a streaming query method without a surrounding transaction that keeps the connection open so that the Stream can actually be consumed. Make sure the code consuming the stream uses @Transactional or any other way of declaring a (read-only) transaction.

enter image description here

我是不是错过了什么?或者是否无法在 Java EE 应用程序上将容器管理的事务与 Spring Data 集成?

最佳答案

您如何尝试将 Spring Data 与 EJB 集成?

您必须使用工厂创建存储库并传递 EntityManager:

@Stateless
public class ExampleBean {

@PersistenceContext
EntityManager entityManager;

public Example findExample(String name){
JpaRepositoryFactory jpaRepositoryFactory=new JpaRepositoryFactory(entityManager);
ExampleRepository repository = jpaRepositoryFactory.getRepository(ExampleRepository.class);
return repository.findOne(name);

}
}

关于java - Spring Data Streaming 查询在使用 JTA 的 JBoss 7 上不会引发事务错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46679445/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com