当前位置: 首页 > 知识库问答 >
问题:

JpaRepository接口实现,我想了解它的方法实现在哪里?[副本]

子车文康
2023-03-14

在Spring中构建一个项目时,我遵循了一个教程,@Repository接口扩展了另一个接口JpaRepository,它为子接口添加了功能:

@Repository("myRepository")
public interface myRepository extends JpaRepository<Name, Long> {

}

在@service类中

@Autowired
private MyRepository myrepo;

@Transactional
public Stuff save(Stuff stuff) {
    return myrepo.save(stuff);
}

我想找到“save”方法的实际代码。下载了spring-data-commons-core-1.2.1.release.jar并进行了反编译,但在那里找不到实现。

共有1个答案

刘俊语
2023-03-14

Spring框架代码托管在GitHub上。您要查找的内容在以下存储库中:https://github.com/spring-projects/spring-data-jpa

一个实现是SimpleJaparePository:https://github.com/spring-projects/spring-data-jpa/blob/master/src/main/java/org/springframework/data/jpa/repository/support/simpleJaparePository.java

 类似资料:
  • 问题内容: 我正在使用来自包java.sql的接口连接 实际上,我虽然是一个Class,但是当我尝试查看源代码时却发现它是一个Interface。 在Connection接口的源代码中,每种方法只有一行,没有任何实现!! 是什么让这个界面正常工作? 要连接的数据库:MySql 连接源代码页:http : //www.docjar.com/html/api/java/sql/Connection.j

  • 这段代码过滤调用流,然后打印所有大于10的元素。谓词中的测试方法为我们做到了这一点。 但是filter()方法的实际实现在哪里呢?该方法返回的“流”大于10?我不明白。 这个问题在某种程度上也适用于forEach()方法。它如何在流中迭代?因为filter()和forEach()方法在接口流中是抽象的,没有实现。

  • 我想知道在哪里实现JpaRepository接口 但是这些接口的实现在哪里? 这些接口中的所有方法是如何工作的(如findAll、findById、deleteAll等)?

  • 我是Spring Boot的新手,所以我有几个基本问题。 当我们定义一个扩展JpaRepostory的Repostory接口时 这些方法可以从 Service 类调用(我们可能甚至不需要提及这两个方法)。到目前为止,一切都很好。 问题: > 方法是如何定义的?它在幕后是如何被称为的? 如果我们想用原生SQL添加一个自定义方法< code>findUserAction呢?在这种情况下,我们需要在<

  • 为了测试它,我创建了一个新的控制器,以避免干扰我正在工作的控制器TesteController2,它运行良好。因此,我的下一步是扩展IStudentRepository中的ICustomRepository,在TesteController2中进行更改,然后Spring将不再找到我的findCustom方法,它尝试将该方法创建为JPA关键字并返回和错误。这是我的存储库接口: 和TesteContr

  • 我查了Javadoc,什么也没有得到。我想知道这是怎么回事。 我找到了这个和这个,但这并不能消除我的疑虑。如果我漏了什么请告诉我。