我正在使用Netbeans IDE和EclipseLink JPA实现。

根据Netbeans,此代码有效:

public void save(T entity) {
    EntityManager entityManager = JPAUtil.getEntityManager();
    entityManager.getTransaction().begin();
    entityManager.persist(entity);
    entityManager.getTransaction().commit();
}


但是我认为,真正有效的代码是:

public void save(T entity) throws PersistenceException {
    EntityManager entityManager = JPAUtil.getEntityManager();
    entityManager.getTransaction().begin();
    entityManager.persist(entity);
    entityManager.getTransaction().commit();
}


为什么会这样呢?

最佳答案

PersistenceException扩展了RuntimeException。这意味着这是“未经检查的”异常,因此不必显式声明或处理它。

有关更多信息,请参见this question

关于java - 我的entityManager.persist(实体)没有抛出PersistenceException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18211187/

10-11 20:45