hibernate - 这些接口方法的实现在哪里?
问题描述
我是 Spring Boot 和 Hibernate 的新手,并且正在阅读以下帖子:https ://medium.com/@gustavo.ponce.ch/spring-boot-spring-mvc-spring-security-mysql-a5d8545d837d
我看到在接口中声明了以下方法,但在任何地方都没有这些方法的实现。
@Repository("userRepository")
public interface UserRepository extends JpaRepository<User, Long> {
User findByEmail(String email);
}
@Repository("roleRepository")
public interface RoleRepository extends JpaRepository<Role, Integer>{
Role findByRole(String role);
}
有人可以解释一下这些方法的实现在哪里以及它是如何工作的吗?
解决方案
根据入门:使用 JPA 访问数据文章:
在典型的 Java 应用程序中,您希望编写一个实现 CustomerRepository 的类。但这正是 Spring Data JPA 如此强大的原因:您不必编写存储库接口的实现。当您运行应用程序时,Spring Data JPA 会即时创建一个实现。
如果您深入研究 Sprign Data JPA 框架,您会发现org.springframework.data.jpa.repository.support.SimpleJpaRepository
和其他执行实际工作的类。通常你不会使用这些。
推荐阅读
- c# - 有没有办法在不进行“if”检查的情况下获取一个值为 null 的值?
- pandas - dataframe.to_csv 是否更改文件参数的修改时间属性?
- database - 使用 PostgreSQL 的 flyway 或 dbup(.net 库/dbup 扩展名)进行数据库迁移
- php - 如何调用另一个带参数的php文件?
- arrays - 检测数组中大于阈值的值,并使用推力将结果存储在二进制(1/0)数组中
- jquery - jquery中删除一行后如何重置表行号?
- python - 使用 Python3 在 AWS lambda 中进行多线程
- laravel - 使用 laravel 安装 vuejs 管理面板时出错
- robotframework - 如何使用机器人框架删除目录中存在的所有文件
- java - Tang 在进入另一个扫描二维码的活动时停止