Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的代码:
emf = Persistence.createEntityManagerFactory("cassandra_pu"); em = emf.createEntityManager();
我动态更改 persistence.xml 以更改为 cassandra_pu 单元的 IP 地址。但是,它可能执行得太快,因此返回旧实体管理器而不是新实体管理器。有没有办法检查创建的 em 实体管理器是否足够好用?
它可能取决于正在使用的 EJB 容器,但通常persistence.xml在下一次重新部署应用程序之前不会反映对的更改 - 因此“旧”实体管理器将一遍又一遍地返回,直到您重新部署。
persistence.xml
一些提供商允许它,但它是本机功能。查看 Eclipselink 的 refreshMetadata() 以了解更改。但是如果只有数据库连接/模式不同,您应该使用新的 PU。只需指定 ORM.xml 以根据需要覆盖表和方案名称,您就可以重用类