[英]Custom Query Spring Data JPA
我需要在我的存储库中扩展 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 中创建自定义查询?
您不需要创建自己的查询。 只需使用基于方法签名的自动生成查询。
List<SongList> findAllByOwner(String owner);
这将创建查询。
使用 JPQL,或者如果您想在代码中使用 SQL,请使用以下原生查询:
@Query(value="SELECT sl FROM song_list sl WHERE sl.owner=:owner",nativeQuery=true)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.