我得到了一个枚举(clubrole(,该方法获得了一种方法,该方法从此枚举中返回了一个值的集合。我试图使用SPEL从查询中调用此方法。
@Query("select m from ClubMember m " +
"where m.student = :student " +
"and m.role in :#{#role.getParents()}"
)
List<ClubMember> findByRoleWithInheritance(@Param("student") Student student, @Param("role") ClubRole role);
这通过构建,并且应用程序运行,但是当此方法称为我时,``没有找到名称角色的参数绑定!;嵌套异常是Java.lang.IllegalArgumentException:未找到名称角色的参数绑定!
我尝试了不同的方法,但没有任何方法可以。我想知道在这种情况下是否可以使用SPEL,如果是的话?
看起来这是Spring-data-jpa中的一个问题。我可以看到人们在春季博客上讨论同一问题。不确定是否有一个空旷的问题。您可以尝试作为解决方法。
@Query("select m from ClubMember m " +
"where m.student = :#{#student}" +
"and m.role in :#{#role.getParents()}"
)
List<ClubMember> findByRoleWithInheritance(@Param("student") Student student, @Param("role") ClubRole role);
或者您可以尝试使用索引访问第二个参数,例如#{[1].getParents()}
这可能会有所帮助。