본문 바로가기

스프링/Spring Data

(3)
Hello JPA!! 애플리케이션 개발하기 들어가며 이 포스팅의 내용은 «자바 ORM 표준 JPA 프로그래밍»을 참고하고 정리한 것입니다. 권장 환경은 다음과 같습니다. 자바 8 이상 Maven 사용 H2 데이터베이스 사용 인텔리제이 사용 Hello JPA 애플리케이션을 통해 간단히 CRUD 할 수 있는 서버 애플리케이션을 만들어보겠습니다. 라이브러리 추가 - pom.xml 4.0.0 jpa-basic ex1-hello-jpa 1.0.0 org.hibernate hibernate-entitymanager 5.3.10.Final com.h2database h2 1.4.199 JPA 설정하기 - persistence.xml JPA 설정 파일 {프로젝트 디렉토리}/src/main/resources/META-INF/persistence.xml 위치함 p..
JPA 소개 및 JPA의 기본 동작 과정 들어오며 이 포스팅의 내용은 «자바 ORM 표준 JPA 프로그래밍»을 참고하고 정리한 것입니다. ORM(Object-relational mapping) 이란 Object-relational mapping (객체 관계 매핑) 객체는 객체대로 설계하고, 관계형 데이터베이스는 관계형 데이터베이스대로 설계한다. ORM 프레임워크가 중간에서 매핑해준다. 대중적인 언어에는 대부분 ORM 기술이 존재한다. ORM은 객체와 RDB 두 기둥 위에 있는 기술 이다. JPA(Java Persistence API) 란 현재 자바 진영의 ORM 기술 표준으로, 인터페이스의 모음이다. 즉, 실제로 동작하는 것이 아니다. JPA 인터페이스를 구현한 대표적인 오픈소스가 Hibernate라고 할 수 있다. JPA 2.1 표준 명세를 ..
SQL 중심적인 개발의 배경과 문제점 들어가며 이 포스팅의 내용은 «자바 ORM 표준 JPA 프로그래밍»을 참고하고 정리한 것입니다. SQL 중심적인 개발의 배경 JPA와 모던 자바 데이터 저장 기술 애플리케이션 객체 지향 언어 (Java, Scala 등) + 관계형 DB (Oracle, MySQL 등) 객체를 영구 보관하는 다양한 저장소 (RDB, NoSQL, File, OODB 등)가 존재하지만 현실적인 대안은 관계형 DB다. 즉, 객체를 관계형 DB에 저장해서 관리하는 것이 중요하다. 관계형 DB를 사용하려면 SQL을 짤 수 밖에 없다. 관계형 DB를 쓰는 상황에서는 SQL에 의존적인 개발을 피하기 어렵다. 하지만! SQL 중심적인 개발에는 여러 문제점이 있다. SQL 중심적인 개발의 문제점 지루한 코드의 무한 반복 CRUD의 반복 자..