- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我不太了解 DDD 存储库模式,但 Spring 中的实现让我感到困惑。
public interface PersonRepository extends JpaRepository<Person, Long> { … }
由于接口(interface)扩展了 JpaRepository(或 MongoDBRepository...),如果您从一个 db 更改为另一个,您也必须更改接口(interface)。
对我来说,接口(interface)是用来提供一些抽象的,但在这里它不是那么抽象......
你知道为什么 Spring-Data 会这样工作吗?
最佳答案
你是对的,从外部的角度来看,接口(interface)是对所有实现类都有效的东西的抽象。
这正是这里发生的事情:
但是 JpaRepository 和 MongoDBRepository 没有任何共同之处,除了在通用 super 接口(interface)中定义的东西:
所以对我来说它看起来很正常。
如果您使用实现您的存储库的类,然后使用 PagingAndSortingRepository 或存储库,如果您希望能够从 JPA 实现切换到基于文档的实现(抱歉,我无法想象这样的用例 - 无论如何)。当然,您的 Repository 实现应该实现正确的接口(interface)(JpaRepository、MongoDBRepository),具体取决于它是什么。
关于spring - 对 Spring-Data DDD 存储库模式感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5975199/
我正在尝试学习Rust。我正在阅读一本书online,该书实现了unix程序cat。现在,我试图读取作为像cargo run file1.txt file2.txt这样的参数传递的文件的内容,但是程序
我在 GHC 8.0.1 中遇到了一个带有种类索引 (?) GADT 的奇怪情况,其中在类型与种类签名中引入 foralls 会产生不同的类型检查行为。 考虑以下数据类型: {-# LANGUAGE
我正在使用 Perl 5.10 开发应用程序,HTML::Mason和 Apache 2.2。这是我第一次在大型项目中使用 Perl 5.10。我每隔一段时间就会出现奇怪的行为。应用程序因一个非常奇怪
我正在尝试将文件上传到aws中的rust中,因为我使用的是 rusoto_s3 的s3 rust客户端,当这些部分从单个线程发送时,我设法使分段上传代码正常工作不是我想要的,我想上传大文件,并且希望能
我是一名优秀的程序员,十分优秀!