使用复合键在 JPA 中构建方法

Build method in JPA with composite key

这是我的带有复合键的实体:

@Entity
@Table(name = "course_ratings")
public class CourseRating {
    @EmbeddedId
    private CourseRatingKey id;
}

其中 CourseRatingKey 看起来像这样:

@Embeddable
public class CourseRatingKey implements Serializable {
    @Column(name = "user_id")
    private int userId;

    @Column(name = "course_id")
    private int courseId;

    public CourseRatingKey() {
    }
    
    // getters, setters, equals(), hashCode()
}

还有我的 JPA 存储库

@Repository
public interface CourseRatingRepository extends JpaRepository<CourseRating, CourseRatingKey> {

}

我正在尝试构建一种方法,该方法将 return 列出所有 CourseRating,给定的 courseId 属性 of CourseRatingKey。以下方法不起作用,因为 JPA 无法识别它:

repository.findAllByIdCourseId(int id);

如何建立我的方法名称来实现我的目标?

我已经通过在存储库中声明此方法解决了我的问题。我有点困惑,因为其他方法无需声明即可工作。

@Repository
public interface CourseRatingRepository extends JpaRepository<CourseRating, CourseRatingKey> {

    List<CourseRating> findAllByIdCourseId(Integer id);
}