본문 바로가기
개발 언어별 에러 정리/Spring boot

[Spring boot] org.springframework.beans.factory.UnsatisfiedDependencyException JPA 에러

by sang-rak 2022. 11. 15.
반응형

 

사용코드

DTO.java에서 private String interest_nm; 설정

 

에러

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'interestController' defined in file [C:\Users\user\Desktop\Company\jackdang\BE\jackdang\bin\main\com\jackdang\controller\interests\InterestController.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'interestService' defined in file [C:\Users\user\Desktop\Company\jackdang\BE\jackdang\bin\main\com\jackdang\service\interests\InterestService.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'interestRepository' defined in com.jackdang.domain.repository.interests.InterestRepository 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 java.util.Optional com.jackdang.domain.repository.interests.InterestRepository.findByMember_idAndInterestNm(java.lang.Long,java.lang.String); Reason: Failed to create query for method public abstract java.util.Optional com.jackdang.domain.repository.interests.InterestRepository.findByMember_idAndInterestNm(java.lang.Long,java.lang.String)! No property 'interestNm' found for type 'Interest' Did you mean ''interest_nm''; nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.Optional com.jackdang.domain.repository.interests.InterestRepository.findByMember_idAndInterestNm(java.lang.Long,java.lang.String)! No property 'interestNm' found for type 'Interest' Did you mean ''interest_nm''

 

해결방법

언더스코어 해지 

private String interest_nm; -> private String interestNm;

별첨

JPA에서는 Java 진영에서는 _ 언더스코어와 같은 헝가리안 표기법 및 범위 식별자는 사용하지 않지만 DBA의 경우 테이블 컬럼값을 언더스코어를 자주쓰기에 자동으로 번역하여 컬럼을 생성해준다. 그러므로 _를 사용하지 않고 개발하면 된다.

반응형

댓글