Java Spring + JPA 를 다루며 마주친 오류들

timo·2021년 8월 10일
0

troubleshooting

목록 보기
7/11
post-thumbnail

😭 마주친 오류들

이번 여름 방학 Java Spring과 JPA를 이용해 프로젝트를 진행하고 있다. 처음 접하는 Spring과 여러 명이 참여하는 프로젝트인 만큼 다양한 오류들을 매번 마주친다. 한번 마주친 오류들은 다신 보고싶지 않기 때문에 ㅎㅎ 공부 차원에서 기록해두고자 한다.

📌 JPA Domain 설계 중 마주친 오류

@Id annotation은 해당 필드가 해당 Entity의 Primary Key임을 알려준다. 나는 서버를 실행시키고 다음과 같은 오류를 발견했는데

nested exception is org.hibernate.AnnotationException: No identifier specified for entity: com.snowdeer.database.board.Member

구글링 결과
import org.springframework.data.annotation.Id
👇
import javax.persistence.Id로 수정했더니 해결되었다.

📌 IntelliJ 클래스를 찾지 못하고 빨간줄이..

윈도우즈 데스크톱과 맥북에서 프로젝트를 진행하고 있다. 대부분 데스크톱에서 코딩을 하다 오랜만에 맥북을 이용해서 진행할 일이 생겼다. git을 통해 내려받고 맥북의 IntelliJ를 실행했더니.. 같은 패키지 안에 있는 다른 클래스들을 서로 찾지 못하고 빨간줄이 뜨는 것 이었다.

(해당 이미지는 예시다.)
위 사진과 같이 Cannot access ~와 같은 경고가 뜨면서 실행되지 않았다.

첫 구글링 결과 .idea폴더를 삭제하고 다시 import를 진행했지만 효과가 없었다.

다시 찾아보니 캐시 파일에 문제가 생긴 경우라는 게시글이 있었다.

File - Invalidate Caches / Restart

이렇게 Restart 후 정상적으로 작동되는 것을 확인할 수 있었다.

📌 왜 JSON에 아무것도 없지..?

이건 오류가 아니라 그저 나의 실수이다...ㅎㅎ 2번 반복하길래 다시는 하지 않기 위해 기록한다.

Controller을 작성하고 테스트한 결과 Json파일에 아무것도 담겨 있지 않았다. 당황스러움에 코드들을 뒤져보았지만, 상당한 시간이 흐른 끝에 찾아낸 결과는 다음 2가지였다. 2가지실수를 2번하다니이이이222

📍 parameter를 받을 때 @RequestBody 에서 Form을 사용하지않음

이렇게 Form 클래스를 만들어 parameter를 받았어야 했는데, 나는 그냥 변수로 써도 받아지지않을까? 하는 개발자스럽지 않은 망상을 실행시켰다.

📍 ResponseEntity에서 Getter만들지 않음

그렇다. ㅎㅋ 사실 이건 lombok을 사용했으면 생기지 않ㅇ

마무리

실수가 반복되면 그게 실력이다..!

profile
Backend Developer

0개의 댓글