2

在我的 spring boot 项目中,我正在使用这个 starter jpa 。我已经在 appliction.properties 中完成了所有与 db 相关的事情。项目运行良好。我不明白这个方法的定义在哪里。我们刚刚定义了一个抽象方法,这个方法是如何工作的?

public interface UserRepository extends JpaRepository<UserEntity, Integer>{
    
    Optional<UserEntity> getUserByUserName(String user);
}
4

1 回答 1

1

这是 JPA 存储库的魔力的一部分。我实际上也不知道它是如何工作的细节,我只知道如何使用它。

最终,我认为这与 Spring 代理的接口方式有关。Spring 将在运行时创建一个接口的实例。当方法根据规范命名时,Spring 可以生成适当的方法。

这是一篇很好的文章,详细介绍了如何构造方法名称以进行所需的查询:https ://www.baeldung.com/spring-data-derived-queries 。

于 2020-08-20T15:25:46.793 回答