JPA - Entity
·
TIL
EntityEntity란 JPA에서 관리되는 클래스 즉 객체를 의미합니다.데이터베이스와의 상호작용을 위한 매핑 정보도 포함되어있습니다. @EntityJpa가 관리할 수 있도록 테이블과 매핑할 클래스에는 필수로 달아주어야한다. @Entity 어노테이션이 붙은 클래스는 JPA가 관리하게 되며, 이를 엔티티라고 부릅니다.@Entity // JPA가 관리할 수 있는 Entity 클래스 지정public class Memo { ...}name 속성을 이용하여 엔티티 클래스 이름을 지정할 수 있습니다. (default : 클래스 명)@Entity(name = "Memo") // JPA가 관리할 수 있는 Entity 클래스 지정public class Memo { ...}주의사항JPA가 Entity 클래스를 인스턴스화 ..
JPA - 댓글 CRUD
·
TIL
생성한 일정에 댓글을 남길 수 있습니다.댓글과 일정은 연관관계를 가집니다.댓글을 저장, 조회, 수정, 삭제할 수 있습니다.댓글은 아래와 같은 필드를 가집니다.댓글 내용, 작성일, 수정일, 작성 유저명 필드 댓글은 특정 게시글에 남기는 것이므로 컨트롤러에서  요청을 받을 때 일정의 고유값인 todoId를 같이 받도록하였다. Controller@RestController@RequestMapping("/api/comment")@RequiredArgsConstructorpublic class CommentController { private final CommentService cmtService; @GetMapping("/{todoId}") public ResponseEntity> findBy..
JPA - 일정 CRUD
·
TIL
저번 과제는 JDBC를 이용한 일정관리 앱을 만드는거였는데 이번 과제는 JPA를 이용하여일정관리 API를 만드는 것이다. 이번에는 한 단계 한 단계 차근차근 나가보려고한다.일단 1단계인 일정 CRUD의 요구사항은 아래와 같다.키워드@Entity: 데이터베이스 테이블과 매핑되는 클래스에 사용합니다.@Id: 해당 필드를 기본 키로 지정합니다.@GeneratedValue: 기본 키 생성 전략을 설정합니다.@Repository: DAO(Data Access Object) 클래스에 사용하여 데이터 접근을 명시합니다.어노테이션일정을 저장, 조회, 수정, 삭제할 수 있습니다.일정은 아래 필드를 가집니다.작성 유저명, 할일 제목, 할일 내용, 작성일, 수정일 필드삭제의 경우일정을 삭제할 때 일정의 댓글도 함께 삭제이 ..
JPA
·
TIL
JPAJPA(Java Persistence Api)는 자바에서 제공하는 인터페이스로 ORM 기술에 대한 표준 명세이다.관계형 데이터베이스를 사용하는 방식을 나타내며 ORM이므로 자바 클래스와 DB table을 Mapping한다.ORM : Object - Relational Mapping(객체 관계 매핑)객체와 관계형 데이터베이스의 데이터를 매핑하는 기술ORM 프레임워크가 객체와 데이터베이스 중간에서 매핑객체와 테이블을 매핑하여 패러다임 불일치 문제 해결JPA 동작JPA는 애플리케이션과 JDBC 사이에서 동작한다.JPA는 JDBC API를 사용하여 데이터베이스와 데이터를 주고받게 된다.JPA를 사용하는 이유기존의 개발 방식은 SQL 중심적인 개발이였다.이런식의 개발은 직접 SQL문을 작성해야 DB에 접근할..