본문 바로가기

JPA3

[JPA] JPA의 요소 객체와 테이블 매핑 @Entity 테이블과 매핑할 클래스에 필수로 사용되는 어노테이션 name 속성을 이용하여 JPA에서 사용할 엔티티 이름을 지정한다. 설정하지 않으면 기본값이 클래스 이름으로 설정된다. 다른 패키지에 이름이 같은 엔티티 클래스가 있을 경우 이름을 지정하여 충돌을 피하여한다 기본 생성자는 필수, final 클래스, enum, interface, inner 클래스에는 사용하면 안 된다. @Table 엔티티와 매핑할 테이블을 지정(생략할 경우 매핑할 엔티티의 이름을 테이블 이름으로 사용된다.) name : 매핑할 테이블 이름(기본값 = 엔티티이름) catalog : catalog 기능이 있는 DB에서 catalog를 매핑 schema : schema 기능이 있는 DB에서 schema를 매핑.. 2024. 4. 21.
[JPA]영속성 컨텍스트 영속성 컨텍스트란? 영속성 컨텍스트란 '영구 저장 환경' 이다. Entity Manager 가 Entity를 저장하거나 조회하면 매니저는 영속성 컨텍스트에 Entity를 보관하고 관리한다. Entity Manager 가 persist()메소드를 사용하면 엔티티를 영속성 컨텍스트에 저장한다. 하나의 엔티티 매니저가 하나의 영속성 컨텍스트를 생성 및 접근 할 수 도 있고, 여러 엔티티 매니저가 하나의 영속성 컨텍스트를 공유할 수 도 있다. 엔티티의 생명주기 비영속(new/transient):영속성 컨텍스트와 관계가 없는 상태 영속(managed): 영속성 컨텍스트에 저장된 상태 준영속(detached):영속성 컨텍스트에 저장되어있다가 분리된 상태 삭제(removed):삭제된상태 영속성 컨텍스트의 특징 영속성.. 2024. 4. 17.
[JPA] ORM와 JPA ORM이란? -객체와 관계형 DB의 데이터를 자동으로 매핑해주는것 ORM을 잘 사용하기 위해선 DB와 OOP 지식이 필요 영속성→ 객체를 영원히 저장한다. SQL을 다룰 때 발생하는 문제점 SQL의 단점 코드의 반복이 발생 SQL에 의존적인 개발 테이블에 컬럼을 추가할 때 수많은 코드 추가 ORM의 장점 객체 지향적이기 때문에 비지니스 로직 및 코드 에 집중할 수 이싿. 관념적 코드가 없거나 적어진다. 코드의 재사용, 유지보수성의 편리성이 증대된다. DBMS의 종속성이 줄어든다. ORM의 단점 N+1문제 등 해결해야할 과제가 있다. 생성되는 쿼리 속도등의 문제 설계가 중요하며 일관성이 무너지거나 성능 정하의 문제발생 JPA란? JPA란? JPA(Java Persistence API)는 자바 진영의 ORM.. 2021. 5. 28.