@Entity: 데이터베이스 테이블과 매핑되는 클래스에 사용합니다.@Id: 해당 필드를 기본 키로 지정합니다.@GeneratedValue: 기본 키 생성 전략을 설정합니다.@Repository: DAO(Data Access Object) 클래스에 사용하여 데이터 접근을 명시합니다.작성 유저명, 할일 제목, 할일 내용, 작성일, 수정일 필드 → 2주차 13 JPA Auditing4주차 12 영속성 전이사용한 어노테이션
@Entity: 데이터베이스 테이블과 매핑되는 클래스에 사용합니다.@Id: 해당 필드를 기본 키로 지정합니다.@GeneratedValue: 기본 키 생성 전략을 설정합니다.@Repository: DAO(Data Access Object) 클래스에 사용하여 데이터 접근을 명시합니다.@ManyToOne: 일정 엔티티와 댓글 엔티티간의 연간관계를 설정 합니다.→4주차 08. N대 1 관계기 생성한 일정에 댓글을 남길 수 있습니다.
댓글을 저장, 조회, 수정, 삭제할 수 있습니다.
댓글은 아래와 같은 필드를 가집니다.
댓글 내용, 작성일, 수정일, 작성 유저명 필드 → 2주차 13. JPA Auditing사용한 어노테이션
@Entity: 데이터베이스 테이블과 매핑되는 클래스에 사용합니다.@Id: 해당 필드를 기본 키로 지정합니다.@GeneratedValue: 기본 키 생성 전략을 설정합니다.@Repository: DAO(Data Access Object) 클래스에 사용하여 데이터 접근을 명시합니다.유저를 저장, 조회, 삭제할 수 있습니다.
유저는 아래와 같은 필드를 가집니다.
유저명, 이메일, 작성일, 수정일 필드 일정은 이제 작성 유저명 필드 대신 유저 고유 식별자 필드를 가집니다.
일정을 작성한 유저는 추가로 일정 담당 유저들을 배치할 수 있습니다.
4주차 10. N 대 M 관계4주차 11. 지연 로딩사용한 어노테이션
1. Entity와 Repository 관련 오류
javax.persistence 또는 jakarta.persistence 관련 의존성을 확인하고, 프로젝트가 올바르게 설정되어 있는지 확인한다.
@EnableJpaAuditing 어노테이션을 추가하고, 필요한 필드에 @CreatedDate 및 @LastModifiedDate를 설정한다.
@Repository 어노테이션을 추가하여 명시적으로 지정한다.
2. Validation 관련 오류
spring-boot-starter-validation 의존성이 추가되었는지 확인한다.
3. 데이터베이스 관련 문제
데이터베이스에 사용자와 권한을 올바르게 설정한다. 예: GRANT ALL PRIVILEGES ON schedule.* TO 'root'@'localhost'; 이후 FLUSH PRIVILEGES;를 실행한다.
4. API 명세와 URI
댓글 생성 URI를 확인하고, RESTful 원칙에 따라 /api/schedules/{scheduleId}/comments와 같이 수정한다.
5. PK와 FK 연결 문제
- 조인 테이블을 통해 연결하는 개념이 어려움.
6. 실행 오류

아직 개념이 완전히 잡히지 않은 단계에서 직접 코드를 작성해보려고 하니 너무 많은 오류가 발생했다. 구글링과 챗지티피의 도움을 받아서 CRUD 만이라도 작성해보려고 했지만 결국 완성하지 못하고 실행이 되지 않는 문제가 발생했다. 해설 강의를 보고 다시 한번 강의를 복습해봐야겠다.