java - 在 Spring Boot 中向 CRUDReposity 接口(interface)添加自定义方法

标签 java spring spring-boot spring-data-jpa spring-data

我想添加一个根据给定描述查找待办事项的方法。网上有人说你可以使用JSQL,Spring会自动实现它。我尝试了以下方法:

public interface TodoRepo extends CrudRepository<Todo, Long> {

@Query("SELECT t FROM Todo t WHERE t.description=:description")
Todo findByDescription(@Param("description") String description);
}

但是,我收到一条错误消息,指出找不到符号“@Query”。是否有一些我未能完成的接线或导入?还有其他方法来实现自定义方法吗?谢谢!

最佳答案

您的依赖项和/或导入有问题。

@Query 注释是您打算使用的 Spring Data JPA 的一部分。

您必须验证两件事:

  1. Spring Data JPA 位于类路径中
  2. 您正在导入org.springframework.data.jpa.repository.Query

如果您使用 Maven 配置或类似的和/或更完整的 java 文件(包括导入)更新您的问题,我们可能会提供更详细的建议。

关于java - 在 Spring Boot 中向 CRUDReposity 接口(interface)添加自定义方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50786408/

相关文章:

java - ExecutorService - 并行运行任务并保存结果

java - 字符串数组值和 HashMap

java - 在 Spring 启动期间执行 native SQL 查询

java - JUnits 中 @RepositoryRestResource 的 url 出现 404

java - 将 webjar 作为根资源提供服务

java - 限制java中方法的执行时间

java - 尝试将 Azure 政府端点与 Azure 存储 Java 库一起使用时出错

java - 将@Transactional 与@Commit 一起使用时无法测试预期异常

java - 如何定义 RequestMapping 优先级

java - 如何将 @Query 保留在属性文件中并在 JPA 中访问这些查询