반응형 JPA3 [JPA] JPA란? JPA(Java Persistence API)란? 자바 진영의 ORM 기술에 대한 API 표준 명세 (인터페이스 집합체) JPA는 애플리케이션과 JDBC사이에서 동작한다. ORM (Object-relational mapping)이란? 이름 그대로 객체와 관계형 데이터베이스를 매핑하는 것 ORM 프레임워크란? ORM 프레임워크는 객체와 테이블을 매핑해서 패러다임의 불일치를 해결해준다. ORM 프레임워크를 사용하면 객체를 DB에 저장할때 SQL문을 직접 작성하는 것이 아닌 객체를 자 바 컬렉션에 저장하듯이 ORM 프레임워크에 저장하면 자동으로 SQL문을 생성해서 DB에 저장한다. ORM 프레임워크를 사용하면 CRUD 할때마다 쿼리를 작성해야하는 반복적인 작업을 줄일 수 있고 기존의 SQL 중심의 코딩에서 벗.. 2021. 12. 3. [JPA] orphanRemoval orphanRemoval = 고아객체 제거 고아객체 부모 엔티티와 연관관계가 끊어진 자식 엔티티 PK값이 NULL로 변한 자식객체 orphanRemoval=true - 고아객체를 자동으로 삭제해주는 코드 CascadeType.REMOVE = orphanRemoval=true 차이점? CascadeType.REMOVE : 자식객체 삭제 X (삭제 동작을 할때 작동하기 때문) orphanRemoval=true : 자식객체 삭제 O (자식객체에서 부모객체를 참조로 확인하기 때문) 2021. 12. 2. [JPA] CASCADE 란? CASCADE는 JPA 영속성 전이를 의미한다. 타입은 Enum이다. 영속성 전이 부모 엔티티가 영속화될 때 자식 엔티티도 같이 영속화되고, 부모 엔티티가 삭제될 때 자식 엔티티도 삭제되는 등 특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속 상태로 전이되는 것을 의미 CascadeType ALL → 모든 Cascade 적용 PERSIST → 엔티티를 영속화할 때, 연관된 엔티티도 함께 유지 MERGE → 엔티티 상태를 병합(Merge)할 때, 연관된 엔티티도 모두 병합 REMOVE → 엔티티를 제거할 때, 연관된 엔티티도 모두 제거 REFRESH → 상위 엔티티를 새로고침(Refresh)할 때, 연관된 엔티티도 모두 새로고침 DETACH → 부모 엔티티를 detach() 수행하면, 연관 엔.. 2021. 12. 1. 이전 1 다음 반응형