백엔드 Backend/JPA

JPA의 표준 스펙은 Entity에 Serializable을 구현하도록 되어있다.@Data@Entity@Table(name = "catalog")public class Catalog implements Serializable{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; ...} Serializable 객체의 직렬화를 지원하기 위한 인터페이스이다.직렬화는 객체를 바이트 스트림으로 변환하여 저장하거나 네트워크상에서 전송할 수 있는 형태로 변환하는 과정이다.이 인터페이스를 구현함으로써 자바의 직렬화 기능을 사용할 수 있다. 이러한 직렬화는 객체의 상태를 보존하고 다른 시스템 간에 객체를 공유/전송하기 위해 ..
앞선 글을 통해, JPA는 엔티티 매니저를 통해서 DB와 어플리케이션 사이의 객체인 엔티티를 다루어 수정/변경/삭제등이 이루어집니다.이 엔티티 매니저를 어떻게 설정하는지, 스프링에 의존하지 않는 순수 Java의 설정 방법과 스프링의 DI에 의존하는 2가지 방법을 통해 알아보겠습니다.순수 Java 설정Entity Manager Factory → Entity Manager 의 생성은 Persistence 클래스를 사용하여 구현할 수 있습니다.1. 설정1.1. EntityManagerFactory 생성 ... Persistence는 createEntityManagerFactory(String persistenceUnitName)메서드를 통해 엔티티매니저팩토리를 생성합니다..
해당 글 스프링의 엔티티매니저 관리와 상관 없는 기초적인 JPA의 동작 원리를 기술하고 있습니다.1. 기본 개념JPA (Java Persistence API)는 관계형 데이터베이스를 사용하는 방식을 정의하는 인터페이스로, Java ORM 기술의 표준 명세라고 할 수 있습니다.💡 ORM(Object Relational Mapping)객체를 통해 간접적으로 DB 데이터를 다루는 방법으로, DB 데이터와 Object 필드를 매핑합니다.예) JPA, Hibernate💡 SQL MapperSQL문으로 DB를 직접 조작합니다.예) MyBatis, jdbcTemplate JPA를 다룰 때 필요한 엔티티 매니저(EntityManager)는 인터페이스로 정의되어 있습니다.public interface EntityMa..
달래dallae
'백엔드 Backend/JPA' 카테고리의 글 목록