Spring Data JPA是JPA的一个实现吗?
我试图“真正”理解Spring框架。 我对Spring Core(DI)和Spring MVC有了一些公正的理解。
对于数据部分,我现在专注于Spring Data JPA。 据我所知,JPA是一个标准规范,其中有多个实现,Hibernate是着名的实现。
现在,当我开始使用Spring Data JPA时,我的印象是Spring Data JPA是JPA规范的独立实现 。 原来我错了。
如果我理解正确,Spring Data JPA是Spring提供的抽象层,它在内部使用其他JPA提供程序(示例Hibernate),因此通常是这样的:
Application ---> Spring Data JPA --> Hiberate --> JDBC ----> DB
我的理解是否正确? 如果不是Spring Data JPA
误导? 它本身不是JPA提供者,它只是一个抽象层,它在其他JPA provider
之上工作。
我不确定我是否真的了解Spring框架,或者它完全是一个复杂的框架?
任何人都可以帮我理解吗?
我不认为这是错误的(免责声明:我是项目负责人)。 所有Spring Data项目都列出了它们基于名称的商店或API。 Spring Data JPA基本上就是JPA的Spring Data,就像Spring Data一样MongoDB是MongoDB的Spring Data,就像Spring Batch是批处理应用的Spring一样,Spring Integration是集成项目的Spring。
请更正您的JPA依赖关系图:
Application -> Spring Data JPA -> JPA <- Hibernate -> JDBC -> DataSource
-> — uses
<- — implements
对于MongoDB也是一样的:
Application -> Spring Data MongoDB -> MongoDB Java driver -> MongoDB
等等。我仍然对你有什么感兴趣的地方,你有什么印象,Spring Data JPA是JPA的一个实现,因为项目页面和参考文档都无处不在。 事实上,特别是项目页面对项目提供的功能非常明确。 另外,它可能有助于研究关于总体项目的描述,该项目试图为其中包含的所有模块设置一些基本上下文。
链接地址: http://www.djcxy.com/p/44093.html