일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 |
- 알고리즘
- 어노테이션
- MVC
- 숫자정렬
- 자바
- GUI
- 스프링
- 배열정렬
- Swing
- 자바GUI
- 내림차순정렬
- 버블정렬
- 자바알고리즘
- 이클립스 #이클립스단축키 #자바 #자바단축키
- 오름차순정렬
- annotation
- 이클립스
- Spring
- Eclipse
- Java
- 계산기GUI
- 자바 #java #이클립스 #eclipse #switch #switch문 #사칙연산 #계산기 #calculator #간단한계산기
- 버블소트
- 자바 계산기
- 계산기
- Today
- Total
온 코딩
[이론] ORM,JPA, Hibernate, Spring Data JPA 본문
ORM
객체지향 개념을 이용하여 관계형 데이터베이스에 적용하는 기술
=> 객체지향을 관계형으로 매핑하는 개념
객체지향 구조와 관계형 데이터베이스와 유사
객체지향
데이터구조 -> 클래스
데이터 -> 클래스 멤버변수(데이터타입)
데이터 보관 -> 인스턴스
관계형 데이터베이스
데이터구조 -> 테이블
데이터 -> 컬럼(데이터타입)
데이터보관 -> ROW(레코드)
객체지향과 관계형데이터베이스 차이점 : 객체지향 (행위)메서드
객체지향 : 데이터, 행위
관계형데이터베이스 : 데이터
ORM은 객체지향과 관계형 사이의 변환 기법을 의미
JPA
ORM을 Java 언에어 맞게 사용할 수 있도록 제공되는 스펙
ORM 아래 JPA ~
JPA는 단순한 스펙잊기 때문에 구현체(Hibernate 등)마다 프레임워크가 다를 수 있음
Spring Data JPA
스프링 부트는 JPA 구현체 중 Hibernate를 이용
Hibernate
ORM을 지원하는 오픈소스 프레임워크
단독으로 프로젝트에 적용이 가능한 독립된 프레임워크
스프링 부트 프로젝트 생성 시 추가한 Spring Data JPA은 Hibernate를 쉽게 사용할 수 있도록 추가적인 API를 제공
Spring Data JPA를 이용하여 개발 시, 필요한 코드는 두 종류
1. 엔티티 클래스
: JPA를 통하여 관리되는 객체(엔티티객체)를 위한 클래스
2. Repository
: 엔티티 객체들을 처리하는 기능을 보유한 인터페이스
Repository 인터페이스
Spring Data JPA에서 제공하는 인터페이스로 설계
스프링 내부에서 자동으로 객체를 생성하고 실행하는 구조이기 때문에 개발자는 단순히 인터페이스를 하나 정의하기만 하면 된다.
Hibernate를 단독으로 사용할 경우 모든 코드를 직접 작성하고 트랜잭션 처리도 직접 처리해야한다.
하지만, Spring Data JPA를 이용할 경우 모든 코드가 자동으로 생성되기 때문에 그럴 필요가 없다.
(CRUD작업, 페이징 작업 개발을 하지 않아도 된다)
'복습 ARCHIVE > 모델별 프로젝트' 카테고리의 다른 글
[Spring Boot](Spring Data JPA) memoTest - IntelliJ2 (0) | 2021.07.08 |
---|---|
[Spring Data JPA] memoTest - IntelliJ (0) | 2021.07.07 |
[JPA](간단한 게시판) 스프링-JPA 연동 : 레퍼런스 url , (0) | 2021.07.05 |
[JPA](간단한 게시판) JPA 기본 설명 및 Mavens project 이용 - EntityManager, persistent.xml, JPA API, (0) | 2021.07.05 |
[Spring] MVC / TodoList / Lombok.jar (0) | 2021.06.30 |