java - 我的entityManager.persist(entity) 没有抛出PersistenceException

标签 java jpa netbeans eclipselink entitymanager

我正在使用 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(entity) 没有抛出PersistenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18211187/

相关文章:

java - 为什么 StdDraw 无论如何都不会被识别?

netbeans - 如何在 Netbeans PHP 中获取 "open folder in explorer"

java - 无法创建 wsdl 请求

java - 没有名为 *** 的 EntityManager 的持久性提供程序

java - 变量未初始化

java - @OneToMany关系: "one" id not persisted

java - JPA - 为什么我在数据库中的每一行看到两个实体实例?

java - 解析自定义 xml 配置文件

java - 如何使用apachecamel仅删除ftp服务器上已处理的文件

java - Spring Data JPA 有没有办法使用方法名称解析来计算实体?