【问题标题】:Custom Query Spring Data JPA自定义查询 Spring Data JPA
【发布时间】:2021-03-16 16:15:18
【问题描述】:

我需要在我的存储库中扩展 CrudRepository 的自定义查询

@Repository
public interface SongListRepository extends CrudRepository<SongList, Integer> {

    @Query("SELECT sl FROM song_list sl WHERE sl.owner=:owner")
    Set<SongList> findAllSongListsForUser(
            @Param("owner") String owner);
}

当我尝试启动时抛出以下异常:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'songListController': Unsatisfied dependency expressed through field 'songListService';

nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'songListService': Unsatisfied dependency expressed through field 'repository';

nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'songListRepository': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.Set htwb.ai.songsservice.repository.SongListRepository.findAllSongListsForUser(java.lang.String)!

如何在 CrudRepository 中创建自定义查询?

【问题讨论】:

  • 试试这个查询:"select s from #{#entityName} s where s.owner = :owner"
  • 似乎工作谢谢:)

标签: java spring spring-data-jpa


【解决方案1】:

您无需创建自己的查询。只需使用基于方法签名的自动生成查询。

List<SongList> findAllByOwner(String owner);

这将创建查询。

【讨论】:

    猜你喜欢
    • 2015-03-25
    • 2015-12-07
    • 2012-09-13
    • 2019-03-10
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    • 2020-04-12
    • 2021-04-01
    相关资源
    最近更新 更多