【发布时间】:2016-03-03 17:08:04
【问题描述】:
我在同步数据库字段时遇到问题。
我有一个单例类,例如 EntityManager,我使用这样的代码:
Persistence.createEntityManagerFactory("Myproject_EJB")
我使用这个来自 WebApplication 和 WebService 层的单例创建 EntityManager,并使用它来访问持久性。
用户可以使用 WebApplication 修改此数据库字段,但数据仅在请求完成时才存储在数据库中(请求可能需要几秒钟)。同时,如果有人调用 WebService 并要求相同的字段,我的状态不一致。
在 persistence.xml 中,我将 use_second_level_cache 和 use_query_cache 设置为 true,并且 transaction-type="JTA"。
在 webApp 中,我使用这样的代码来更新数据:
EntityManager em = EntityMan.getEMF().createEntityManager();
try {
em.find(Tel.class, tel.getTelId());
em.merge(tel);
em.flush();
} catch (Exception e) {
logger.debug(e.getMessage());
e.printStackTrace();
}
请问我该如何解决??
【问题讨论】:
标签: java mysql hibernate persistence jta