JPA와 하이버네이트에 대한 기본 개념을 확인했다면 다음으로 엔티티 매니저와 영속성 컨텍스트에 대한 개념을 알아보자.학습 키워드 정리엔티티(Entity): 데이터베이스 테이블과 매핑되는 자바 클래스입니다.엔티티 매니저(Entity Manager): 엔티티의 생명주기를 관리하며, CRUD 작업을 수행합니다.엔티티 매니저 팩토리(Entity Manager Factory): 엔티티 매니저를 생성하는 팩토리로, 스프링 부트 애플리케이션에서 한번만 생성됩니다.코드 상에서의 엔티티 선언 형태@Entitypublic class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String ..
Spring boot/개념 공부
DBMS에 여러 종류가 있듯이, ORM에도 여러 종류가 있습니다. 자바에서는 JPA(Java Persistence API)를 표준으로 사용합니다. 즉, JPA는 자바 진영에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스입니다. 그러나 실제로 DB와 상호작용하려면 이 인터페이스를 구현한 구체적인 도구가 필요합니다. 그 대표적인 구현체로는 Hibernate가 많이 사용됩니다. Hibernate는 JPA 스펙을 구현한 자바용 ORM 프레임워크로, 스프링 부트 프로젝트에서 ORM을 구현할 때 자주 사용되는 도구입니다. JPA(Java Persistence API):자바 객체와 관계형 데이터베이스를 연결하여 데이터를 관리하는 표준 API입니다. JPA는 객체 지향 도메인 모델과 데이터베이스 간의 중간 ..
ORM(object-relational mapping)은 자바의 객체와 데이터베이스를 연결하는 프로그래밍 기법입니다. 예를 들어, RDBMS에 name과 grade라는 컬럼에 각각 '고길동'과 '3'이라는 값이 들어있다고 생각해봅시다. 이 값을 자바 코드에서 사용하려면 JDBC API를 포함한 다양한 설정과 사전 지식이 필요합니다. 또한, SQL에 대한 공부도 필수적입니다. 하지만 ORM을 사용하면 데이터베이스에 존재하는 값들을 마치 자바 객체처럼 사용할 수 있습니다. 쉽게 말해, SQL을 전혀 몰라도 자바 언어로만 데이터베이스에 접근하여 값을 받아와 사용할 수 있습니다. 즉, 객체와 데이터베이스를 자바 언어로만 다룰 수 있게 하는 기술이 바로 ORM입니다. 물론 이 기술은 자바뿐만 아니라 다양한 언어에..
package com.tenco.demo_v1.controller;import org.springframework.http.ResponseEntity;import org.springframework.web.bind.annotation.DeleteMapping;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController; @RestCont..