DataAccessException
我看到一些 Spring/Hibernate 代码具有不同的关于在 DAO 接口方法中声明的策略。
有些确实明确声明了它,有些则没有(或只是不时):
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 教程的第 13.2.2 节开始,使用 @Repository 注释实现 DAO pojo 以确保将底层 ORM(或 JDBC)异常自动转换为 DataAccessException(运行时)异常层次结构非常重要。