添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
霸气的铅笔  ·  CRUD with C#/SQL in ...·  2 天前    · 
睿智的伤疤  ·  微信支付-跨境开发者中心·  9 小时前    · 
痴情的机器猫  ·  C# .NET CORE .NET6 ...·  9 小时前    · 
爱跑步的电池  ·  API Documentation·  9 小时前    · 
任性的数据线  ·  快穿耽美肉文 - 知乎·  1 年前    · 
高大的椅子  ·  FM Broadcast ...·  1 年前    · 
乖乖的炒面  ·  Visibility 列挙型 ...·  1 年前    · 

QueryDSL 사용을 위해서 JPA Custom Repository를 만드는데 아래와 같은 에러가 났다.

springframework.data.repository.query.QueryCreationException: 
Could not create query for public abstract java.util.List com.isntyet.java.practice.home.domain.HomeRepositoryCustom.findAllHomesByFilter(java.lang.String); 
Reason: Failed to create query for method public abstract java.util.List com.isntyet.java.practice.home.domain.HomeRepositoryCustom.findAllHomesByFilter(java.lang.String)! No property 'filter' found for type 'Home'; 
nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.List com.isntyet.java.practice.home.domain.HomeRepositoryCustom.findAllHomesByFilter(java.lang.String)! No property 'filter' found for type 'Home'
  
  • HomeRepository
      public interface HomeRepository extends JpaRepository<Home, Long>, HomeRepositoryCustom {
          Home findByName(String name);
      
  • HomeRepositoryCustom
      public interface HomeRepositoryCustom {
          List<Home> findAllHomesByFilter(String name);
      
  • HomeRepositoryCustomImpl
      @RequiredArgsConstructor
      @Repository
      public class HomeRepositoryCustomImpl implements HomeRepositoryCustom {
          private final JPAQueryFactory queryFactory;
          @Override
          public List<Home> findAllHomesByFilter(String name) {
              return null;
    

    위의 4.6.1 Customizing Individual Repositories 에서 말했듯이 Custom Repository 구현체 클래스 뒤에 ~Impl 만 붙여주면 될 줄 알았다.

    그래서 HomeRepositoryCustomImpl 라고 대충 이름 지어버린게 문제였다.

    구현체의 이름은 Repository Interface 이름 그대로 뒤에 Impl을 붙여야 한다. HomeRepositoryCustomImpl 처럼 가운데에 Custom이라는 이름이 들어가버려서 생긴 문제였다.

    HomeRepositoryCustomImpl → HomeRepositoryImpl 이렇게 수정해주니 문제는 해결되었다.

    Feign은 Http Client 도구인데 example을 보는 순간 직관적인 형태에 끌려 사용해보게 되었다. (RestTemplate, WebClient 등을 쓰다가 Feign을 써보게 되면 Feign만 쓰게될꺼다) Feign은 인터페이스와 annotation을 이용하여 아주 간...

  •