JPA

    엔티티 매니저? 영속성 컨텍스트?

    💡 엔티티 매니저 팩토리 엔티티 매니저 팩토리는 엔티티 매니저를 만드는 공장이다. 공장을 만드는 비용이 크기 때문에 애플리케이션 전체에 1개만 만들어서 공유하도록 설계되어 있다. 다음은 엔티티 매니저 팩토리를 생성하는 코드다. EntityManagerFactory = Persistence.createEntityManagerFactory("jpabook"); 엔티티 매니저 팩토리는 여러 스레드가 동시에 접근해도 안전하므로 다른 스레드 간에 공유해도 된다 💡 엔티티 매니저 엔티티 매니저는 엔티티를 관리하는 관리자로 엔티티를 저장하고, 수정하고, 삭제하고, 조회하는 등 엔티티와 관련된 모든 일을 처리한다. 다음은 엔티티 매니저를 생성하는 코드다. EntityManager em = emf.createEntity..

    JPA? ORM? 하이버네이트?

    💡 ORM 등장 배경 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한다. 이로 인해 객체 모델과 관계형 모델 간에 불일치가 존재한다. 객체 모델과 관계형 모델 간의 불일치 사이에서 개발자는 SQL문을 사용하여 두 모델 간의 차이를 메웠지만 객체 모델링을 SQL로 풀어내는데 너무 많은 코드와 노력이 필요하다. 이러한 문제를 해결하기 위해 ORM이 등장하였다. 💡 ORM이란 ORM은 Object Relational Mapping의 약자로 객체와 관계형 데이터베이스를 매핑한다는 뜻이다. ORM 프레임워크는 객체와 테이블을 매핑해서 패러다임의 불일치 문제와 제약사항을 개발자 대신 해결해준다. 💡 JPA JPA는 Java Persistence API의 약자로 자바 ORM 기술에 대..