JPA 如何在用户 table 是一个连接的答案 table 中找到前 500 名,我们正在寻找 userid 等于某物的答案

JPA how to find top 500 in a answer table where the user table is a join and we are looking for answers where userid equals something

问题将 JPA 语法视为 findTop500 中的...其余部分我无法弄清楚。我曾尝试跟随错误并查看堆栈,但没有关于自动生成的 JPQL 的具体答案。自定义查询不足以完成此任务:

List<Answer> findTop500ByOrderByIdanswerDescWhereUserIduser(@Param("iduser")  long iduser);

&

List<Answer> findTop500ByIdanswerWhereUserIduserOrderByIdanswerDesc(@Param("iduser")  long iduser);

回答table:

@Entity
@Table(name="answer")
public class Answer {

    @Id
    @GeneratedValue(strategy= GenerationType.AUTO)
    @Column(name="Idanswer")
    private long idanswer;


 @ManyToOne
    @JoinColumn(name = "Useriduser", referencedColumnName = "Iduser")
    private User user;
}

用户table:

@Entity
@Table(name = "user")
public class User {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="Iduser")
    private long iduser;

}

你必须这样创建它:

List<Answer> findTop500ByUserIduserOrderByIdanswerDesc(long iduser);

你必须基于你的实体映射 -> BY user.iduser