Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- MySQL
- chapter01
- 개발순서
- bisection
- SCPC
- 1차예선
- vector미분
- 알고리즘대회
- 5397번
- 알고리즘
- 로지스틱 회귀
- Perceptron Convergence theorem
- CH01
- Fisher discriminant analysis
- undirected graphical model
- 자바ORM표준JPA프로그래밍
- 2018
- 선형판별분석
- graphical models
- 근구하기
- 이것이 MySQL이다
- 스터디
- 인공지능
- 선형분류
- chapter02
- directed graphical model
- 델타 rule
- Numerical optimization
- falsePosition
- secant
Archives
- Today
- Total
computer_study
[JPA] 02. JPA 시작 본문
1. 이클립스 설치
2. H2 데이터베이스 사용하기
3. 라이브러리와 프로젝트 구조
메이븐 사용
4. 객체 매핑
import javax.persistence.*;
@Entity // 이 class를 테이블과 매핑한다고 JPA에게 알려준다
@Table(name="MEMBER") // 매핑 할 테이블 정보 (생략 시 클래스 이름으로 테이블 매핑)
public class Member{
@Id // 테이블의 Primary key에 매핑한다.
@Column(name = "ID") // 필드를 column에 매핑
private String id;
@Column(name = "NAME")
private String username;
// 매핑 애노테이션이 생략된다면 필드명을 컬럼명으로 매핑
// (대소문자를 구분하면 @Column으로 작성해주어야 한다.)
private Integer age;
...
}
5. persistence.xml 설정
JPA는 persistence.xml에서 설정 정보를 관리
데이터베이스 방언(Dialect)
JPA는 특정 데이터베이스에 종속되지 않기에 손쉽게 교체 가능하지만 각 DB가 제공하는 SQL 문법과 함수가 조금씩 다른 문제가 있고 이를 JPA에서 방언이라 부른다.
하이버네이트에서 다양한 Dialect를 제공하기에 JPA표준 문법에 마추어 작성하면 DB가 변경되어도 어플리케이션 코드 변경 필요 없이 Dialect만 교체하면 된다.
6. 애플리케이션 개발
코드의 구분
- 엔티티 매니저 설정
- 엔티티 매니저 팩토리 생성
- 엔티티 매니저 팩토리는 persistence.xml의 설정 정보를 사용하여 JPA를 시작할 수 있게 한다.
(JPA를 동작시키기 위한 기반 객체를 만든다.) - 엔티티 매니저 팩토리는 애플리케이션 전체에서 딱 한번만 생성하고 공유해서 사용해야 한다.
- 엔티티 매니저 팩토리는 persistence.xml의 설정 정보를 사용하여 JPA를 시작할 수 있게 한다.
- 엔티티 매니저 생성
- 매니저 팩토리에서 매니저를 생성한다.
- 매니저를 사용하여 엔티티를 DB에 등록/수정/삭제/조회할 수 있다.
- 개발자는 엔티티 매니저를 가상의 DB로 생각할 수 있다.
- 스레드 간에 공유하거나 재사용 해서는 안된다.
- 종료
- 사용이 끝난 매니저는 반드시 종료해야 한다.
- 엔티티 매니저 팩토리 생성
- 트랜잭션 관리
- JPA사용 시 항상 트랜잭션 안에서 데이터를 변경해야 한다.
- 비즈니스 로직
- 등록, 수정, 삭제, 조회 작업을 수행하고 이는 엔티티 매니저(em)을 통해 수행된다.
- 등록
- em.persist(member)
- 수정
- member.setAge(20) 과 같이 변경만 하면 JPA가 어떤 엔티티가 변경되었는지 추적하여 UPDATE
- 삭제
- em.remobe(member)
- 조회
- em.find(Member.class, id) -> 엔티티 한 개 조회
- JPQL
- SQL을 추상화한 객체지향 쿼리 언어
- JPQL은 엔티티 객체를 대상으로 쿼리
'스터디 > 자바 ORM표준 JPA 프로그래밍' 카테고리의 다른 글
[JPA] 05. 연관관계 매핑 기초 (0) | 2022.07.25 |
---|---|
[JPA] 04. 엔티티 매핑 (0) | 2022.07.11 |
[JPA] 03. 영속성 관리 (0) | 2022.06.29 |
[JPA] 01. JPA 소개 (0) | 2022.06.18 |
[JPA] 00.스터디 개요 (0) | 2022.06.18 |
Comments