Spring Data JPA如何提供数据访问接口,而不是Hibernate数据访问层



当我探索Hibernate JPA实现时,我有了使用Hibernate和创建数据访问层的想法,以获取和从数据库中获取和插入数据。现在,我正在使用春季 春季数据JPA Hibernate在项目中进行一些CRUD操作。/p>

package com.central.repository;
import java.util.List;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import com.central.model.*;
public interface DriverRepository extends CrudRepository<Driver, Integer> {
Driver findById(Integer id);
}

在这里,我从数据JPA的" crudrepository"存储库中延伸。当我使用它时,数据JPA如何为我的接口提供存储库?它们如何内置为我提供Findall(),Save()和Delete()存储库方法?实际上,我怀疑数据JPA如何为我的界面提供存储库吗?数据JPA如何与Hibernate通信以提供这些存储库实现?

弹簧数据为接口创建一个代理,每种方法都尝试寻找/创建该方法的实现策略。

CrudRepository的方法是在SimpleJpaRepository中实现的,以根据注释,参数和返回类型以及然后由代理调用的方法来创建对象。

有一篇关于基本概念可能有帮助的Wiki文章。

相关内容

最新更新