
서론 JPA에서 가장 중요한 개념 중 하나가 영속성 컨텍스트이다. 영속성 컨텍스트를 학습하면서 JPA의 내부 동작 방식을 이해하며, JPA의 장점(영속성 컨텍스트 이점) 또한도 정리해보고자 한다. 영속성 컨텍스트란? "엔티티를 영구 저장하는 환경" 이라는 뜻으로 애플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 데이터베이스 같은 역할을 한다. 엔티티 매니저를 통해 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리한다. 위의 그림과 같이 EntityManager Factory가 고객에 요청마다 EntityManager을 생성한다. 이 EntityManager은 DB Connection을 사용하여 DB를 사용한다 em.persist(entity) //entity을 영속성 ..

서론 요즘은 필수 기술스텍이 된 JPA를 학습하려고 한다. 왜 JPA를 사용하는 것인지? JPA는 무엇인지? 그리고 마지막으로 JPA의 사용 환경을 셋팅하면서 실습 준비를 할 것이다. 해당 포스팅은 모두 김영한님의 "자바 ORM 표준 JPA프로그래밍-기본편"을 기반으로 작성하는 것이다. JPA란? JPA가 무엇인지 정의하기 전에 한 가지 개념에 대해 알아야한다. ORM(Object Relational Mapping) 이란? RDB테이블을 객체지향적으로 사용하기 위한 기술 객체와 RDB의 테이블을 매핑하여 자바 프로그램 코드상에서 RDB를 객체지향적으로 쓸 수 있게 고려한 기술 객체는 객체대로 관계형 데이터베이스는 관계형 데이터베이스대로 설계 ORM 프레임워크가 중간에서 매핑 이와 마찬가지로 자바의 영속성..

목표 Docker를 설치한 이후 MySql 이미지를 띄어보려고한다. 그전에 Docker가 설치되어 있어야하며, 해당 내용은 기존 포스팅을 참고하면 된다. https://alcoholble.tistory.com/19 [AWS]Docker 설치하기(Ubuntu 20.04 LTS) Docker란? Go언어로 작성된 리눅스 컨테이너 기반으로 하는 오픈소스 가상화 플랫폼입니다. 컨테이너 단위로 소프트웨어를 제어하며, 이를 통해 가상화보다 효율적이고 쉽게 새로운 가상 공간을 alcoholble.tistory.com Docker 도커 버전을 확인한다. 정상적으로 설치되어있으면 아래의 명령어로 해당 버전을 확인할 수 있다. docker -verison MySQL Docker 이미지 다운로드 아래 명령어를 통해 MySQ..

Docker란? Go언어로 작성된 리눅스 컨테이너 기반으로 하는 오픈소스 가상화 플랫폼입니다. 컨테이너 단위로 소프트웨어를 제어하며, 이를 통해 가상화보다 효율적이고 쉽게 새로운 가상 공간을 만들 수 있습니다. 컨테이너의 구축, 배포, 복사가 가능하고 다른 환경으로의 이동성이 유연하며, 프로그램 관리를 보다 쉽게 할 수 있습니다. 사용자가 원하는 대로 백엔드 프로그램, 데이터베이스 서버, 메세지 큐 등 어떤 애플리케이션으로도 컨테이너로 추상화할 수 있고, 사내서버, 클라우드에 배포하여 사용할 수 있습니다. VM, Vbox를 쓰면 되지 않은가? - 이것은 컨테이너의 개념을 제대로 이해하지 못했기 때문에 생기는 의문입니다. VM같은 경우에는 OS위에 가상화를 시키기 위한 Hypervisor엔진 그리고 그 위..