해당 에러메시지는 Spring Data JPA 를 활용했을 때의 상황이었으며, save() 메소드를 활용해서 더미 데이터를 생성했을 때 발생하였다. save() 메소드를 부르기 전에 id 값을 할당해줘야 한다는 것 같은데 알고보니 @Id 어노테이션이 붙은 값을 할당을 안했고 Postgresql 의 serial 타입을 활용하기 때문에 DBMS에서는 default로 auto increase 처리하나 JPA에서 이를 인식하지 못하는 것으로 확인했고 결과적으로 serial 타입을 사용하기 위해 @GeneratedValue(strategy = IDENTITY) 어노테이션을 PK 컬럼에 해당하는 엔티티 클래스 변수에 붙여줌으로써문제를 해결할 수 있었다.
해당 에러는 처음에 도커를 활용하다 만난 에러인데. 도커가 스프링부트 jar 파일을 보고 실행시키는 구조인데 이제 그 jar 파일을 찾지 못했던 것이 원인이었다. 즉 jar 파일없이 스프링부트 어플리케이션을 dockerize 하고 이미지 배포한 후 docker run을 통해 스프링부트를 실행하려하는데 jar가 없네..? 이느낌이다. 즉 해당 오류내용은 jar 파일을 찾지 못했을 때 발생하니 특정 경로에 jar 파일이 있는지 확인하기 바랍니다.
Error creating bean with name 'reportController' defined in file [file 주소] Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ' 'service.ReportService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} 아마 다들 자주 이러한 메시지를..
코틀린과 자바를 번갈아가면서 코딩하다가 발견한 에러메시지.. 평소 자주쓰는 언어는 자바인데 자바의 package명을 java로 해도 별로 에러가 나지는 않았음. 근데 자바와 코틀린을 공통으로 쓰는 프로젝트에서 코틀린 소스를 kotlin이라는 package명으로 해두고 그 아래 코틀린 클래스파일들을 넣어놨었는데 코틀린 main 메소드를 돌릴 때 다음과 같은 에러가 났음. Kotlin: Only the Kotlin standard library is allowed to use the 'kotlin' package 정확한 이유는 모르지만 코틀린 프로그래밍을 할때 kotlin을 package명으로 두면 안된다고함. 따라서 코틀린 소스 package명을 kotlinsource로 수정하니 잘 돌아갔다...!
JPA 관련 학습을 하는 도중에 일반적인 비즈니스 로직은 다 짰고 테스트로 돌려보고싶어서 테스트코드를 작성하는 도중에 다음과 같은 에러가 발생했다. No EntityManager with actual transaction available for current thread - cannot reliably process 'persist' call; nested exception is javax.persistence.TransactionRequiredException: No EntityManager with actual transaction available for current thread - cannot reliably process 'persist' call 일단 내용을 읽어보니 현재 스레드에 Enti..
안녕하세요. 이전 포스팅에서 커스텀 어노테이션으로 Bean Validation 처리를 해보는 예제를 작성하여 포스팅하였습니다. https://sas-study.tistory.com/343 스프링 Custom Bean Validation 만들어서 사용해보기(어노테이션 @Email) 스프링 Bean Validation 이란?? 스프링에서는 JavaBean(getter와 setter를 가지고 있는 자바객체, 흔히 VO, DTO라고 부르는 것들)의 유효성 작업을 진행하기 위해 javax.validation 패키지 내에 있는 여러가지 유.. sas-study.tistory.com 그 와중에 response body에 에러메시지를 담는 과정에서 Errors 객체를 사용하여 DefaultMessage로 설정한 내용을..
학원생 수강 시절, 스프링으로 간단히 예제를 잡는 과정에서 예상치못한 실수를 하여 에러를 냈습니다..ㅠㅠ 간단한 것이었는데 에러메시지 검색해볼 생각도 안하고 혼자 잡아보다가 고생했었던 에러메시지를 공유하고자 합니다. 메시지는 memberController라는 빈을 생성하고자하는데 @Autowired할 때 빈생성에서 에러가 난다는 메시지였습니다. 처음에는 @Autowired의 문제점인 circular reference에 관한 상황이 여기서 발견되는건가 싶어서 신기해했지만.. 이유는 다름아닌 @Service 어노테이션때문이었습니다... 스프링 프레임워크는 기본적으로 스프링컨텍스트 내에 Bean이라는 스프링이 관리하는 객체들을 싱글톤으로 관리하고 있습니다. 즉 @Autowired로 주입해주는 그 인스턴스는 다..