[Spring] JPA(작성중)
ORM(Object Relational Mapping)
- 객체가 DB 테이블이 되도록 만들어준다.
- SQL을 작성하지 않아도 데이터를 조작할 수 있음.
JPA?
- Java Persistence API
- 개발자가 직접 SQL작성하지 않음. JPA API를 기반으로 DB 저장, 관리
- 자바 ORM 기술에 대한 표준 명세(자바에서는 관계형DB를 어떻게 사용하는가)
- ORM 프레임워크(Hibernate, EclipseLink 등)을 활용해야 함.
- ORM이기 때문에 자바 클래스와 DB테이블 맵핑(SQL을 맵핑하지 않음)
JPA 사용목적
- 개발 시에 객체지향의 장점을 잊고 단순히 객체를 데이터 전달 목적으로 사용하게 됨.(현재 나도 그런 것 같다ㅜ) 신규 컬럼 하나만 추가하더라도 계속 반복작업 진행됨.
- DB중심 설계의 단점을 개선하자! -> 객체와 테이블을 맵핑시키는 ORM사용. -> 자바에서는 JPA
JPA 사용해보기
1. dependency 추가
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
2. Entity 클래스 생성
@Data
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Entity(name = "member")
public class MemberVO{
@Id
@GenerateValue(strategy = GenerationType.IDENTITY)
private Long mbrNo;
private String id;
private String name;
@Builder
public MemberVo(String id, String name){
this.id = id;
this.name = name;
}
}
- @Entity가 붙은 클래스는 JPA가 관리. 맵핑 테이블은 해당 어노테이션을 붙임.
..
Author And Source
이 문제에 관하여([Spring] JPA(작성중)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@lilys/Spring-JPA작성중저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)