我遇到了一个我无法解决的问题。
我想找到Class1
个具有“活动”状态的元素,这些元素在status2
上具有“活动” Class2
,并且属于特定的user
。
例如:查找所有张贴在帖子上且状态为“有效”的“约翰”的“已接受”评论。
我尝试使用此(JpaRepository):
Page<Class1> findAllByStatusAndClass2StatusAndClass2User(String status, String status2, User user, Pageable pageRequest)
我的代码:
@Entity
@Table(name = "class1")
public class Class1 {
...
@OneToMany(mappedBy = "class1")
private Set<Class2> class2;
String status1;
...
}
@Entity
@Table(name = "class2")
public class Class2 {
...
@ManyToOne
@JoinColumn(name = "class1_id", nullable = false)
private Class1 class1;
User user;
String status2;
...
}
谢谢您的帮助。
答案 0 :(得分:0)
实际上,对于JPARepository,方法名称和参数应遵循实体中的字段名称。
因此,您需要使用status1
代替status
,并使用Class2Status2
代替Class2Status
。
您的方法应如下:
Page<Class1> findAllByStatus1AndClass2Status2AndClass2User(String status1, String status2, User user, Pageable pageRequest)