제이제이
article thumbnail
스프링 이론(JPA) - JPA개요, ORM, CRUD, 영속성 컨텍스트, 방언처리

1. JPA란 Java Persistance API 입니다. ❓ Persistance(영속성)이란? 🔥 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성을 의미합니다. 영속성은 파일 시스템, RDBMS 또는 객체 데이터베이스 등을 활용하여 구현합니다. 이를 이해하기 전 먼저 다음의 예를 먼저 살펴봅시다. 컴퓨터에서의 데이터를 읽고 접근할 수 있는 방법에는 휘발성인 RAM과 비 휘발성인 하드 디스크가 있는데 각각의 특징은 다음 그림과 같습니다. 보통 자바 프로그램은 하드디스크에서 DBMS를 이용해 데이터를 기록하고 관리합니다. ❓DBMS란? 데이터베이스 관리 시스템을 의미합니다. ❓JPA란 결국 무엇을 의미하는 것일까? 🔥 자바에 있는 데이터를 영구히 기록할 수 있는 환경(ex. ..

article thumbnail
스프링 이론(JPA) - OOP관점에서의 모델링, 방언 처리

6. JPA는 OOP의 관점에서 모델링을 할 수 있게 합니다.(상속, 컴포지션, 연관관계) 다음과 같이 자바코드로 자동차를 의미하는 Car클래스와 엔진을 의미하는 Engine 클래스가 있습니다. Car 클래스(자동차를 의미) class Car{ int id; String name; String color; } Engine 클래스(엔진을 의미) class Engine{ int id; int power; } ❓Car클래스에서 Engine을 나타내고 싶다면? 🔥 상속이 아닌 결합(콤포지선)을 이용해 나타내야합니다. ❓왜 Car클래스에서 Engine을 상속하면 안되는가? 🚨 만약 상속을 하게 되면 Engine클래스가 부모 클래스가 되고 Car 클래스는 자식 클래스가 됩니다. 즉, 자동차의 부모가 엔진이 되기 때..