使用带有spring Boot的Dao设计模式,而不是使用spring data jpa提供的存储库设计模式,这是个好主意吗?

vvs*_*vvs 2 java spring hibernate spring-data-jpa spring-boot

实际上,我是Spring Boot的新手,但我已经使用了Spring一段时间了.使用spring,我曾经通过带有hibernate/JPA的通用DAO处理我的数据库(MySQL).但是我在spring Boot上找到的所有教程都使用了spring数据jpa,因此配置更容易.

因此,我想知道继续使用我的旧通用DAO是否是一个好主意,因为它允许我完全控制并根据需要自定义我的数据访问.如果是,我该怎么办?如果没有,可能有哪些缺点?

Tom*_*Tom 7

DAO模式与Spring Data支持的存储库模式相同.至少,它应该是.每个实体都有一个DAO(= Repository)类,它提供查询或操作该实体的方法.

是否继续使用我的旧通用DAO是一个好主意,因为它允许我拥有完全控制并根据需要自定义我的数据访问.

Spring Data足够灵活,可以完全控制您的查询.您有以下选项(从Spring Data引用复制的代码示例):

所以,回答你的问题:是的,使用Spring Data JPA,尤其是新项目!它为您做了很多工作,您仍然可以根据需要控制查询(这应该只是复杂查询所必需的,甚至是我建议使用程序化规范的那些).