如何解决如何使用@Query批注
我正在尝试使用@Query在我的jpa存储库中创建自定义方法,但是在运行时出现以下错误,请帮助我检查一下。预先感谢
下面是代码
public interface OrganizationRepository extends JpaRepository<Organization,Long> {
List<Organization> findByDeleted(Boolean isDeleted);
List<Organization> findAllByDeletedOrderById(Boolean isDeleted);
@Query(value="SELECT * FROM ORGANIZATION WHERE id = :organizationId AND NAME LIKE %:organizationId% LIMIT 1 ",nativeQuery = true)
Organization findFirstNameByNameLike(@Param("organizationId") Long organizationId,@Param("name") String name);
}
下面是运行时错误
Caused by: java.lang.IllegalStateException: Using named parameters for method public abstract com.oasis.firsbacklogbackend.entity.Organization com.oasis.firsbacklogbackend.repository.OrganizationRepository.findFirstNameByNameLike(java.lang.Long,java.lang.String) but parameter 'Optional[name]' not found in annotated query 'SELECT * FROM ORGANIZATION WHERE id = :organizationId AND NAME LIKE %:organizationId% LIMIT 1 '!
我将不胜感激
解决方法
您两次使用OrganizationId而不是name。改为这样:
@Query(value="SELECT * FROM ORGANIZATION WHERE id = :organizationId AND NAME LIKE %:name% LIMIT 1 ",nativeQuery = true)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。