Java 连接实体的Spring数据JPA查询方法名称
我有两个实体:Java 连接实体的Spring数据JPA查询方法名称,java,spring,spring-data-jpa,crud,Java,Spring,Spring Data Jpa,Crud,我有两个实体: 用户(它有字段字符串用户名) School(它有字段长id) 在学校我有: @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, targetEntity = User.class) @JoinColumn(name = "schoolId") private List<User> users; @ManyToOne(optional = false, targetEntity = School
用户
(它有字段字符串用户名
)李>
School
(它有字段长id
)李>
在学校
我有:
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, targetEntity = User.class)
@JoinColumn(name = "schoolId")
private List<User> users;
@ManyToOne(optional = false, targetEntity = School.class, cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name = "schoolId", referencedColumnName = "id", nullable = false)
private School school;
我还有SchoolRepository
:
public interface SchoolRepositoryextends CrudRepository<School, Long> {
}
公共接口SchoolRepositoryExtendedCrudepository{
}
我想通过JPA
querymethodnames向数据库发出请求。例如,我想查找id=1的学校中名为John
的所有用户。
如何通过SchoolRepository
实现这一点
我唯一想到的是findByIdAndUsersUserName
,但它给了我一个例外,在我的表中没有名为users
的字段
注:
当然,可以通过@Query
进行查询,但我想知道是否有办法通过方法名来实现这一点,你指的是spring数据jpa吗?事实上,这不是JPA API。现在是春天。SPRING数据JPA!=JPA APIYes,你说得对,谢谢。你只能在UsersRepository中这样做。selectByNameAndSchool@DenB和
关键字用于和
ing where的多个条件。从中检查6.3.2