简单的问题。代码如下:
public void insertDefacer(Defacer defacer) {
try {
em.persist(defacer);
} catch (PersistenceException | DatabaseException e) {
defacer = em.find(Defacer.class, defacer.getIdentity());
defacer.setStats(defacer.getStats() + 1);
em.merge(defacer);
}
}
当DeFisher已经存在于数据库(MySQL)中时,
persist
操作抛出异常(PersistenceException
和/或DatabaseException
)。看起来很正常。所以我想抓住这些例外并威胁他们。但是在记录这些异常之后,我的程序突然结束(没有完成方法)。为什么?
细节(可能重要也可能不重要):em是一个EntityManager,可以通过@PersistenceContext
最佳答案
你是不是想用这种方法去找经理?
@PersistenceContext
private EntityManager em;
public EntityManager getEntityManager() {
return em;
}
public void setEntityManager(EntityManager em) {
this.em = em;
}