在我的测试中,我手动实例化生产中@Autowired
的类。我用@Autowired
个依赖项注入它。在这个类中,我调用一个注释为@Transactional
的方法,下游使用@PersistenceContext
注释EntitiyManager
。我得到的错误是
范围内没有事务方面管理的TransactionStatus
我希望能够以编程方式提供上下文使用的EntityManager
实例,但不知道如何执行此操作。请指教。另外,如果您需要更多背景,请告诉我。
我从@Transactional
Callable
运行的ExecutorService
调用此ThreadLocal
注释方法,因此无法访问{{1}}。
(Java 7和Spring 4.1.1)
答案 0 :(得分:0)
假设您使用@Transactional
,可以使用@Transactional(value="myTransactionManager")
您班上的@Autowired
还有EntityManager
吗?你能提供课程代码吗?
答案 1 :(得分:0)
只需通过@Autowired
获取有效的EM并在需要的地方进行设置。还要检查您的测试是否标记为@Transactional
。