본문 바로가기
728x90

[JAVA]/JPA35

JPA - 영속성 컨텍스트 영속성 컨텍스트 JPA를 이해하는데 가장 중요한 용어이다. "엔티티를 영구적으로 저장하는 환경"이라는 의미 EntityManager.persist(Entity); -> persist메서드를 통해 엔티티를 영속성 컨텍스트라는 곳에 저장한다는 뜻 영속성 컨텍스트는 논리적인 개념이다. 엔티티 매니저를 통해 영속성 컨텍스트에 접근한다. 영속성 컨텍스트에는 1차캐시와 쓰기 지연 SQL 저장소라는 영역이 존재한다. 엔티티의 생명주기 비영속(new/transient) 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 //비영속(객체를 생성한 상태) Member member = new Member(); member.setId("member1"); member.setUsername("홍길동"); 영속(managed) 영속.. 2022. 11. 26.
JPA 애노테이션 정리 @Entity : JPA가 관리할 객체 @Id : 데이터베이스 PK와 매핑 @Table(name = "테이블명") : 클래스명과 데이터베이스 테이블명 매핑 @Column(name = "컬럼명") : 객체명과 데이터베이스 컬럼명 매핑 2022. 11. 25.
JPA(Java Persistence Application) SQL 중심적인 개발의 문제점 애플리케이션을 개발할 때 보통은 객체지향언어로 개발을 한다. 데이터베이스는 보통 관계형 DB를 사용한다. 즉, 객체를 관계형 DB에 관리한다. 이를 위해서는 수많은 SQL을 사용해야 한다. 무한 반복되는 SQL 쿼리, 지루한 코드 자바 객체 -> SQL SQL -> 자바 객체 하지만, 관계형 데이터베이스를 사용하기 위해서는 SQL에 의존적인 개발을 피할 수 없다. 따라서 객체를 관계형 데이터로 바꿀 때 누군가 SQL을 작성해야 한다.(SQL 매퍼) 객체답게 모델링을 할수록 매핑 작업이 엄청나게 늘어난다. 객체를 자바 컬렉션에 저장하듯이(쉽게 넣다 뺄 수 있는) DB에 저장할 수 없을까? -> JPA JPA까지의 역사 EJB- 엔티티빈(자바 표준) 기술이 너무 복잡하고 성능이.. 2022. 11. 25.
728x90