我需要检索运动表中球员列的所有记录。 SportsRepository方法如下。
OnAuthorizationCodeReceived
之后我输入“gradlew clean test”并查看。然后它将生成一个错误,说“错误:缺少方法体,或声明抽象”。这是为什么?我们需要实施这个机构吗?因为JPA查询应该提供我能理解的输出。请有人知道吗?
答案 0 :(得分:0)
在JAVA interface中,当你尝试定义一个静态方法时,你应该给它一个方法体,但在这里我认为你唯一应该做的就是从你的方法中删除static
:
@SuppressWarnings("unused")
@Repository
public interface SportsRepository extends JpaRepository<Sport, Long> {
public static final String GET_Players="SELECT players FROM Sport";
@Query(value = GET_Players, nativeQuery = true)
public List<String> getPlayers();
}
此处也不需要访问修饰符public
,因为在界面中定义方法时,java将public
作为默认值。
注意:我注意到您为nativeQuery
分配了true
,您应该确认GET_Players
是sql,而不是jql。