본문 바로가기

분류 전체보기502

6. Primary key(기본 키) Mapping 0. 개요 - 이전 포스팅에서 Field와 Column을 매핑하는 방법을 배웠다. - 이번 포스팅에서는 DB에 존재하는 기본 키(= Primary key, PK)를 매핑하는 방법에 대해서 배워보자. 1. Annotation - PK 매핑에 필요한 Annotation을 알아보자. a) @Id - DB의 PK를 명시하기 위해서, Entity의 field에 @Id를 부착한다. - @Id는 PK의 값을 직접 할당하는 경우에 사용한다. @Entity public class Member { @Id private Long id; @Column(name = "name") private String username; } b) @GeneratedValue - PK의 값을 직접 할당하지 않고 DB에게 값 할당의 권한을 넘기.. 2022. 3. 29.
5. Field(칼럼) Mapping 0. 개요 - 이전 포스팅에서 Entitty와 DB Table을 매핑하는 방법에 대해서 알아보았다. - 이번 포스팅에서는 Field와 DB Column을 매핑하는 방법에 대해서 알아보자. 1. Annotation - Field Mapping에 사용되는 기본적인 Annotation에 대해서 알아보자. a) @Column - DB 테이블의 Column을 Entity 필드로 매핑할 때 사용한다. - Enitity 변수와 Column의 이름이 다르다면, @Column의 name 속성을 이용하여 DB의 Column을 명시한다. @Entity public class User { @Column(name = "fullName") private string userName; } b) @Enumerated - Entity.. 2022. 3. 28.
4. Entity Mapping 0. 개요 - 이번 포스팅에서는 JPA의 가장 기본이 되는 Entity Mapping에 대해서 알아보자. 1. Entity Mapping - DB의 테이블을 Java 클래스로 표현한 것을 Entity라고 한다. - JPA는 이 Entity 객체를 이용하여 DB에게 데이터를 전달하거나, DB로부터 가져온 데이터를 담는다. - 즉, DB 테이블의 내용(column)이 일대일 대응하도록, Java 클래스로 구현한 것이다. 2. Entity Mapping을 위한 Annotation a) @Entity - @Entity가 붙은 클래스는 JPA가 관리하는 Entity이다. - 그러므로 테이블과 매핑할 클래스는 반드시 @Entity를 부착해야 한다. - @Entity 사용에 대해 몇 가지 주의사항이 있다. → 기본 .. 2022. 3. 25.
3. JPA의 내부구조와 동작 0. 개요 - 이전 포스팅에서 기본적인 JPA의 구조에 대해서 알아보았다. - 이번 포스팅에서는 JPA가 왜 이러한 기본구조를 갖는지, 그 내부구조와 동작은 어떻게 되는지 알아보자. 1. JPA의 핵심 - JPA는 OOP와 RDB의 관계 표현 형식을 서로가 이해할 수 있도록 매핑하는 것이 주요 기능이다. - 즉, OOP 형식으로 짜인 Java 코드를 RDB가 이해할 수 있는 형식으로 번역되어야 한다. - 그러므로 이를 위해서는 다음 2가지를 구현해야 된다. → 객체를 이용한 RDB 형식의 매핑(= 구조적 특징) → 객체를 이용한 RDB 매핑을 가능하게 하는 내부구조 및 흐름(= 내부 동작 원리) - 위의 2가지 특징을 JPA에서는 어떻게 구현하는지 차근차근 알아보자. 2. Persistence Conte.. 2022. 3. 24.
2. JPA의 기본 구조와 기능 0. 개요 - JPA를 본격적으로 배우기에 앞서 기본적인 프로젝트 구성과 사용 방법에 대해서 간단히 알아보자. - 참고로 본 프로젝트는 Maven을 사용한 빌드 구성임을 알려드립니다. 1. JPA 설정 파일 - 기본적인 설정 파일에 대해서 알아보자. a) pom.xml - 프로젝트 빌드 설정 파일 - 기본적으로 Spring을 사용하기 때문에, Spring 프로젝트와 관련된 설정을 작성한다. - JPA를 사용하기 위해서 JPA의 구현체 중 하나를 import 한다. - 아래의 예시 코드는 Hibernate 라이브러리를 설정하는 코드다. org.hibernate hibernate-entitymanager 5.3.10.Final b) persistence.xml - JPA 설정 파일 - JPA의 기본적인 옵션.. 2022. 3. 23.
1. JPA의 등장 0. 개요 - 이전 포스팅에서 JPA를 사용하는 이유에 대해서 알아보았다. - 왜 JPA가 필요한지, 근본적인 문제점이 무엇인지에 대해서 알아보았다. - 복습하자면 JPA를 사용하는 이유는 SQL 중심의 개발 방식을 객체지향 중심의 개발 방식으로 개선하기 위함이다. - 그렇다면 JPA가 무엇인지 천천히 알아보자. 1. JPA란? - JPA는 Java Persistent API의 축약어다. - 쉽게 설명하자면 JAVA의 ORM 표준 기술을 의미한다. a) ORM(Object-relational Mapping) - ORM이 의미하는 바, 역할하는 바는 JPA가 필요한 이유와 동일하다. - JPA가 필요한 이유는 OOP와 RDB의 구조적 차이로 인해 데이터를 매핑하는 과정에 있어서 SQL 중점적인 개발 방식을.. 2022. 3. 22.
0. JPA를 사용하는 이유 0. 개요 - Spring과 Spring MVC를 익혔다면 이제는 JPA를 배울 차례다. - JPA는 현재 현업에서 가장 활발히 사용되는 기술이다. - 그렇다면 왜 JPA를 사용하는지 알아보자. 1. SQL 중점적 개발의 문제점 a) 무엇이 문제일까? - 다양한 종류의 DB가 존재하지만, 아직까지 관계형 DB가 중점적으로 사용되고 있다. - 그러므로 대부분의 애플리케이션은 OOP를 통해 관계형 DB를 처리 및 관리하는 형태의 구조를 갖는다. - 큰 흐름을 보면 웹 애플리케이션은 프런트와 백엔드의 네트워킹을 이용한 데이터 처리과정이다. - 그리고 그 처리과정 내부에는 DB를 필수적으로 거치게 된다. - 아무리 백엔드를 화려한 Java 코드로 만들었더라도, 결국 DB가 이를 이해할 수 있어야 한다. - 그러.. 2022. 3. 21.
Spring MVC를 마치며 지금까지 그리고 다음을 향하여 Spring이 무엇인지, 왜 필요한지를 이야기한 Spring 개념을 시작으로, 프레임 워크의 시작이자 현재인 MVC1 & 2를 익히면서 Spring에 대해 배웠다. 다음은 마지막 단계인 JPA에 대해서 공부하고 포스팅을 이어나갈 예정이다. 개발자로서 공부할 것은 끊임없지만, 주니어 개발자로 취직하기 위한 기본적인 기술적 소양의 마지막 과정을 JPA로 정해놓았다. 얼마 안 남았다. 끝까지 가보자. 2022. 3. 21.
18. HTTP message converter 0. 개요 - 지금까지 Spring MVC에서 HTTP Request와 Reponse를 처리하는 방법에 대해서 알아보았다. - HTTP Request로부터 URL parameter와 message body의 데이터를 읽는 방법과 view template을 이용하여 정적/동적으로 HTML을 처리하고, HTTP message body를 이용하여 String 또는 JSON 형태로 HTTP Response를 처리하는 방법에 대해서 알아보았다. - 이처럼 Spring MVC는 HTTP Request와 Response를 쉽게 처리할 수 있었다. - 그렇다면 Spring MVC 내부적으로 어떤 과정을 거치길래 이런 것들이 가능할까? - 그 중심에는 HTTP message converter가 있다. 1. HTTP me.. 2022. 3. 18.