问题是我的端点被@Singleton注释,因此它在并发调用期间重用了相同的EntityManager。删除@Singleton之后,在并发调用期间,将使用不同的EntityManager对象。如果端点调用是后续的,则可能是将使用先前的/旧的EntityManager。
高度简化的示例:
@Path("/v1/items")public class ItemsService { @Inject private EntityManager entityManager; @POST @Path("/{id}") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public void saveItem(){ entityManager.getTransaction().begin(); entityManager.persist(new Item()); entityManager.getTransaction().commit(); }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)