首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >了解Spring数据接口

了解Spring数据接口
EN

Stack Overflow用户
提问于 2015-12-05 23:08:05
回答 1查看 119关注 0票数 0

我有点困惑于一些基本的Spring数据概念。

如我所知,典型的DAO级别结构如下所示:

代码语言:javascript
复制
   - dao
     - MyFirstObjectDao
     - MySecondObjectDao
     - jpa
        - MyFirstObjectDaoImpl
     - jdbc
        - MySecondObjectDaoImpl

有了这个概念,我可以使用JPA作为我的第一个DAO接口和JDBC -第二个接口的实现。

现在,我想了解Spring抽象。每个Spring数据教程都指定,我应该有一个接口,它应该从JpaRepository扩展,例如。有了这个接口,我已经锁定了JPA,对吧?

如果我想提供不同的实现,比如DAO中的jpa/jdbc,该怎么办?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-05 23:19:11

对于相同的对象,通常没有很好的理由将JPA和JDBC持久化混为一谈;如果您已经将所有东西注释为JPA实体,那么您最好在任何地方都使用相同的持久性设置。你应该重新考虑一下你为什么要这么做。

尽管如此,如果您确实需要这样做的话,您可以这样做:

代码语言:javascript
复制
interface FooBaseRepository extends PagingAndSortingRepository<Long, Foo> {}
interface FooJpaRepository extends FooBaseRepository, JpaRepository<Long, Foo> {}
interface FooJdbcRepository extends FooBaseRepository, JdbcRepository<Long, Foo> {}

@Autowired FooBaseRepository surpriseRepository

更新:如果您只是在谈论针对不同类(没有关系)有不同的持久性策略,那么没有什么特别复杂的。您可以混合JpaJdbc存储库;它们只是接口。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34112008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档