有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaSpring、Morphia和DataAccessException实现

我正在Spring应用程序中使用Morphia和MongoDB。我在许多示例项目中看到,许多服务接口方法抛出DataAccessException。据我所知,这个异常是从各种框架类抛出的,以简化各种数据访问实现的异常处理

此时,我想我应该捕获Morphia抛出的任何错误,并从我的服务实现中抛出DataAccessException。所以我的问题是,我应该用使用Morphia的服务实现对这种方法进行建模吗?也许我只是误解了这一点


共 (1) 个答案

  1. # 1 楼答案

    如果您希望您的业务逻辑能够对特定类型的DataAccessException做出反应,而不依赖于Morphia/Mongo类型,那么这是有意义的

    最简单的方法是编写一个实现PersistenceExceptionTranslator的类,它知道如何将Morphia/Mongo异常转换为DataAccessException。将这个类声明为bean,如果DAO类用@Repository注释,Spring将自动要求它转换异常

    然而,如果您的业务逻辑或异常处理逻辑并不真正关心抛出哪种异常类型,那么这似乎没有什么意义