gpt4 book ai didi

java - JPA Eclipse 链接(MySQL)-成功写入数据库后未检索数据

转载 作者:行者123 更新时间:2023-12-01 14:43:20 25 4
gpt4 key购买 nike

我正在将 Eclipse Link JPA 与 Tomcat 和 MySQL 一起使用。我将实体管理器的静态对象保留为

em = factory.createEntityManager();

该实体管理器在应用程序的整个生命周期中保持打开状态。我确实使用存储实体。

em.getTransaction().begin();
em.persist(obj);
em.flush();
em.getTransaction().commit();

条目已成功写入 MySQL,我可以从 MySQL 控制台检查它们。问题是当我尝试使用检索条目时。em.find(MyType.class, id);它什么也不返回,但如果我重新启动 tomcat,则检索会成功。任何帮助将不胜感激。提前致谢。

最佳答案

我不确定这是否是问题的原因,但在 Web 应用程序中保留单个 EntityManager 作为静态变量通常不是一个好主意,因为 EntityManager 不是线程安全的。相反,您应该保留对 EntityManagerFactory 的静态引用,并为每个 HTTP 请求创建一个 EntityManager 实例(在其自己的线程中运行)。

关于java - JPA Eclipse 链接(MySQL)-成功写入数据库后未检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15721206/

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