我正在尝试使用Java未来中的JTA事务类型使用EclipseLink JPA将对象持久化到Derby数据库。
当我这样做时,我收到以下错误:
javax.persistence.TransactionRequiredException:
Exception Description: No externally managed transaction is currently active for this thread
当我尝试通过entityManager.getTransaction()获取事务时,我收到的消息是JTA不支持此事务。 此外,我尝试使用EntityManagerFactory来创建一个entityManager,因为我读到这个版本是线程安全的。但是,我得到的错误是EntityManagerFactory也不能与JTA一起使用。
在主线程上保留这些对象非常有效。这确实是多线程的问题。
我坚持像entityManager.persist(object);
有没有办法在主线程之外的另一个线程中通过EclipseLink JTA将对象持久化到Derby中? (由于这是一般性问题,我认为没有必要添加示例代码。)
提前多多感谢!