• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

오류발생코드질문드립니다

23.12.27 10:32 작성 조회수 200

0

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'bookService' defined in file [C:\Users\user\OneDrive\���� ȭ��\����ڷ�\Java_Spring_Library_Application new\library-app\library-app\build\classes\java\main\com\group\libraryapp\service\book\BookService.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userLoanHistoryRep' defined in com.group.libraryapp.repstory.user.userloan.UserLoanHistoryRep defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Invocation of init method failed; nested exception is org.springframework.data.repository.query.QueryCreationException: Could not create query for public abstract boolean com.group.libraryapp.repstory.user.userloan.UserLoanHistoryRep.existIsBookNameAndIsReturn(java.lang.String,boolean); Reason: Failed to create query for method public abstract boolean com.group.libraryapp.repstory.user.userloan.UserLoanHistoryRep.existIsBookNameAndIsReturn(java.lang.String,boolean)! No property 'existIsBookName' found for type 'UserLoanHistory'; nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract boolean com.group.libraryapp.repstory.user.userloan.UserLoanHistoryRep.existIsBookNameAndIsReturn(java.lang.String,boolean)! No property 'existIsBookName' found for type 'UserLoanHistory'

요약해보면 자바의 DTO객채의 이름하고 mysql에있는 테이블의 이름과 일치 하지않아서오류가 발생하는듯하는듯한데 왜 오류가 발생할까요? 객채생성하고 테이블올려드릴게요

답변 2

·

답변을 작성해보세요.

1

성문님의 프로필

성문

질문자

2023.12.27

메소드명을 existsByBookNameAndIsReturn으로 수정해주니 잘되네요. existsByBookNameAndIsReturn이 메소드는 개발자가 임의로 정해주면 안되는거고 JPA에서 알아볼수있게끔 정해줘야하는거같네요

0

안녕하세요 성문님!! 좋은 질문 감사합니다! 😊

네네 맞습니다! findBy 혹은 existsBy 등으로 시작해서 Entity의 필드 이름과 조합되는 메소드는 메소드 이름을 토대로 SQL 을 자동 생성해주기 때문에 JPA에서 알아볼 수 있게끔 정해진 규칙에 따라 이름을 적어주셔야 합니다.

또 궁금한 점 있으시면 편하게 질문 주세요~ 감사합니다! 👍 🙇