JPA 22

JPA 영속성 컨텍스트 정의 및 핵심요약

스프링 부트와 JPA를 공부하다가 update 기능에서 데이터베이스에 쿼리를 날리지 않아도 기능이 원활하게 수행되는 코드를 보게 되었습니다. 찾다 보니 JPA의 영속성 컨텍스트와 관련이 있는 걸 알아서 이 부분에 대해 포스팅해보려 합니다. JPA 영속성 컨텍스트 JPA 영속성 컨텍스트(Persistence Context)란 엔터티를 영구 저장하는 환경이라는 뜻으로, 애플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 데이터베이스 같은 역할을 한다. EntityManager에 엔티티를 저장하거나 조회하면 EntityManager는 영속성 컨텍스트에 엔티티를 보관하고 관리한다. Entity를 영속성 컨텍스트에 저장하는 코드이며, 해당 코드는 DB에 저장이 안 된 상태이다.(트랜잭션이 끝나야 DB에 반..

TIL 2022.05.12

JPA의 정의와 장·단점

현대의 웹 애플리케이션에서 관계형 데이터베이스(RDB)는 빠질 수 없는 요소입니다. 그러다 보니 객체를 관계형 데이터베이스에서 관리하는 것이 무엇보다 중요하게 되었습니다. 관계형 데이터베이스가 웹 서비스의 중심이 되다 보니 현업 프로젝트들은 대부분 애플리케이션 코드보다 SQL로 가득하게 되었습니다. 이 부분을 해결하고자 JPA가 나오게 되었습니다. JPA란? JPA(Java Persistence API)는 자바 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음이다. 즉, 실제적으로 구현된 것이 아니라 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임 워크이다. ORM 애플리케이션 Class와 RDB의 테이블을 연결한다는 뜻이며, 기술적으로는 애플리..

TIL 2022.05.10