- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我发现一些 Spring/Hibernate 代码对于在 DAO 接口(interface)方法中声明 DataAccessException
具有不同的策略。
有些确实明确声明了它,有些则没有(或只是有时):
public interface FlightDao {
boolean decrementSeat(Long flightId, int quantity);
List<Flight> findFlights(String fromAirportCode, String toAirportCode) throws DataAccessException;
public List<Flight> getFlights();
Flight getFlight(Long id);
Flight getFlight(String flightNumber);
void save(Flight flight);
}
什么被认为是最佳实践?为什么?
更新
摘自 spring tutorial 的第 13.2.2 节,使用@Repository注释实现DAO pojo以确保底层ORM(或JDBC)异常自动转换为DataAccessException(运行时)异常层次结构非常重要。
最佳答案
如您所见here ,这是一个 RuntimeException,因此无论您是否声明它在编程方面都没有区别。当用户实现该方法时,他可以选择在方法签名中忽略此异常。
我能想到将其放入方法签名中的唯一原因是对其进行标记,以便用户知道该方法可能会抛出此异常,从而他可以选择是否捕获并处理它。
关于java - 在 DAO 接口(interface)方法中声明或不声明 DataAccessException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11392498/
我使用Struts,Spring和Hibernate开发了一个应用程序。 我的DAO使用spring jdbc,它的所有方法都抛出DataAccessException(未选中)。 我应该在哪里处理这
我目前正在重写一个后端正在使用的旧版Web应用程序,其中包括CORBA和另一个RPC框架-它们都已经很老了并且没有Spring支持。 我的希望是,我最终可以编写一个@Repository类来处理COR
我的代码有一个DataAccessException,但无法捕获,为什么? CustomerPlan newCust = data.customerPlan; try { this.deman
如果 Spring Controller 调用的代码抛出 Spring DataAccessException,并且 Controller 没有捕获它或没有异常处理程序,那么 Spring 会向客户端
我正在使用 Jersey 和 jOOQ 实现 REST API。 我有一个带有一些约束的表,例如唯一键。当插入一个违反此约束的元组时,jOOQ 会抛出一个DataAccessException: or
我有两个关于 Spring 框架中的异常处理的问题。 为什么 Spring 框架的 DataAccessException 是运行时异常,而核心 Java 的 SQLException 是已检查异常?
我知道这已经被讨论了很多,但不知何故,之前提出的问题都不适用于我的情况。加载我的应用程序时,我得到以下堆栈跟踪: Exception in thread "JavaFX Application Thr
我正在使用带有 Hibernate 的 Spring ORM,当我编写命令时 hibernateTemplate.save(entityInstance); (entityInstance 显然是 U
我正在尝试增加我的测试覆盖率,所以我想知道,您将如何测试在 DAO 中抛出的 DataAccessExceptions,例如在一个简单的 findAll 方法中,它只返回数据源中的所有数据?就我而言,
目前我正在使用 Spring 和 Hibernate 访问 MySQL 数据库。当我收到任何 SQL 错误时,它会用 Spring Generic DataAccessException 包装。我想根
我正在学习 Spring boot,并且正在做一个使用 jdbcTemplate 执行 CRUD 操作的项目。每当我在查询中引入 getObject() 参数时,都会出现异常。 IDE建议添加异常或者
我在我的 Spring 应用程序中使用 Morphia 和 MongoDB。我在许多示例项目中看到许多服务接口(interface)方法抛出 DataAccessException。据我所知,这个异常
现在我有 Spring Security 使用基本身份验证保护应用程序。用户详细信息来自 JDBC 源。如果数据库出现故障,用户加载机制的内部将抛出 DataAccessException。 .默认身
我的源代码如下。它有一个错误,“不能抛出 DataAccessException 类型的异常;异常类型必须是 Throwable 的子类”。 我不明白为什么会发生错误。让我知道。谢谢。 package
下面的代码片段来自 Spring 5 Recipes 书(第 386 页)。我正在尝试运行和测试代码,但得到 sqle 变量的 NullPointerException ,并且进一步看来 SQLExc
我发现一些 Spring/Hibernate 代码对于在 DAO 接口(interface)方法中声明 DataAccessException 具有不同的策略。 有些确实明确声明了它,有些则没有(或只
我在 Java 中得到一个带有消息的 org.jooq.exception.DataAccessException ERROR: could not serialize access due to r
我正在尝试处理 Spring + JPA + Hibernate 环境中的唯一键约束冲突。 我使用 PersistenceExceptionTranslationPostProcessor 将 Per
我需要创建 JUnit 测试来处理 DataAccessException, 但是当我尝试时: throw new DataAccessException(); 接收: Ca
我在 Spring 之外的 DAO 中使用 JPA。 Spring 框架定义了独立于数据库实现的 DataAccessException。非 Spring 用户使用 Spring 数据访问异常而不是
我是一名优秀的程序员,十分优秀!