작성
·
308
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
메소드명을 existsByBookNameAndIsReturn으로 수정해주니 잘되네요. existsByBookNameAndIsReturn이 메소드는 개발자가 임의로 정해주면 안되는거고 JPA에서 알아볼수있게끔 정해줘야하는거같네요
0
안녕하세요 성문님!! 좋은 질문 감사합니다! 😊
네네 맞습니다! findBy
혹은 existsBy
등으로 시작해서 Entity
의 필드 이름과 조합되는 메소드는 메소드 이름을 토대로 SQL 을 자동 생성해주기 때문에 JPA에서 알아볼 수 있게끔 정해진 규칙에 따라 이름을 적어주셔야 합니다.
또 궁금한 점 있으시면 편하게 질문 주세요~ 감사합니다! 👍 🙇