我正在使用带有swing应用程序的Hibernate JPA 2.1。我的DB是MySQL。可以从另一个与我的应用程序无关的apring jpa应用程序更新相同的数据库。我的问题是我的swing应用程序总是给我一个旧的实体。如何配置它以了解数据库外部更改。
如果有人解决了这个问题,那将非常有帮助。
感谢所有观看和回答。
答案 0 :(得分:0)
您需要清除会话缓存:
@PersistenceContext
private EntityManager em;
void beforeQuery() {
Session session = em.unwrap(Session.class);
session.clear();
}
答案 1 :(得分:0)
刷新方法应该完成这项工作:
@PersistenceContext
private EntityManager em;
void refresh(MyEntity myEntity) {
em.refresh(myEntity);
}
有关刷新的更多信息: https://docs.oracle.com/javaee/6/api/javax/persistence/EntityManager.html#refresh(java.lang.Object)