강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

Bruce Han님의 프로필 이미지
Bruce Han

작성한 질문수

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

게시글 CRUD API 구현

13분쯤 테스트하다가 안 된다면?

해결된 질문

작성

·

48

·

수정됨

0

저도 13분쯤에 create 테스트를 하다가 안 되어서 삽질했는데, 드디어 됐습니다.

원인은

  1. createdAt, updatedAt에 값을 설정하지 않고 넣으려다 보니, null로 들어가서 에러가 발생했던 것이었습니다.

  2. 그리고 mysql에 접속했을 때는 use article; 로 DB에 접근해야 합니다. 저는 use database;로 접근하고 있었네요.

 

이 과정에서 GPT의 도움을 많이 받았습니다.

 

13분쯤 진행다가 나오던 그 500 에러 로그는 애플리케이션을 확인해 봐야 하고요.

 

테스트 코드의 create 메서드에는 IDE의 설명도 같이 참고했습니다.

왜 오류가 떴는지 알려주더군요.

답변 2

0

쿠케님의 프로필 이미지
쿠케
지식공유자

공유 감사합니다~~!

Bruce Han님의 프로필 이미지
Bruce Han
질문자

어 근데 bulk_insert 몇 번 하다가 또 DB 접속이 안 된다고 삽질 중이네요😥

DB 연결이 스프링부트 버전의 이슈 때문에 안 되거나 그런 건 없을까요?

쿠케님의 프로필 이미지
쿠케
지식공유자

강의 버전과 동일하게 맞췄으면 버전 이슈는 없을거라고 생각됩니다! 만약 다르더라도 호환이 안될 정도로 차이는 크지 않을 것으로 예상하고, 버전 이슈였다면 처음부터 연결이 안되었을거라 버전과 무관한 내용일듯 하네요.

Bruce Han님의 프로필 이미지
Bruce Han
질문자

마찬가지로 MySQL 다시 켜서 해결했습니다~!

 

그리고 친절한 설명 감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. Bruce Han님.

“스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판” 강의 중 13분쯤에서 발생할 수 있는 문제와 해결 방법에 대해 안내드리겠습니다.

문제의 원인

  • createdAt, updatedAt 필드를 설정하지 않고 삽입하려고 할 때, 이 필드들이 null로 들어가 에러가 발생했을 수 있습니다.
  • 이는 Java 객체가 데이터베이스에 삽입될 때, null 값인 필드가 문제를 일으킬 수 있는 일반적인 경우입니다.

해결 방법

  1. 초기 값 설정:

    • createdAtupdatedAt 필드는 엔티티가 생성될 때 현재 시간으로 기본 설정해 주어야 합니다.
    • 일반적으로 JPA 엔티티의 생성자 내부에서 LocalDateTime.now() 등을 사용하여 시간 정보를 추가할 수 있습니다.
  2. Hibernate 및 스프링 설정 확인:

    • 스프링 부트에서 사용하는 JPA 설정(예: @CreationTimestamp, @UpdateTimestamp 등)을 통해 자동으로 시간 정보를 관리할 수 있습니다.
  3. 로그 확인:

    • 500 에러가 발생할 경우, 스프링 애플리케이션의 로그를 통해 자세한 예외 메시지를 확인할 수 있습니다. 이는 오류의 원인을 보다 명확하게 파악하는 데 도움이 됩니다.

이와 관련된 유사한 질문들은 인프런의 다른 학습자들로부터도 종종 제기되며, 추가적인 해결책이나 팁을 공유받을 수 있습니다. 아래 링크를 통해 참고하세요:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Bruce Han님의 프로필 이미지
Bruce Han

작성한 질문수

질문하기