【发布时间】: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