cascade
-
[JPA] 프록시와 연관관계 관리Back-end/JPA 2022. 4. 28. 00:12
📌 프록시 프록시 개념은 Hibernate에 구현되어 있는 것이다. JPA 인터페이스의 구현체로 Hibernate를 사용하기 때문에 프록시를 사용할 수 있는 것이다. EntityManager의 find() : 데이터베이스를 통해 실제 엔티티 객체를 조회 EntityManager의 getReference() : 데이터베이스 조회를 미루는 가짜(프록시) 엔티티 객체 조회 ▶️ 프록시가 필요한 예시 상황 위와 같은 구조로 설계가 되어있을 때 'Member를 조회할 때 Team도 함께 조회해야 할까?' 라는 의문에서 프록시는 사용되게 되었다. Member의 필드만 조회해야 하는 경우에는 Team을 조인해서 가져오지 않아도 되기 때문이다. ▶️ 프록시의 특징1 실제 클래스를 상속 받아서 만들어진다. 실제 클래스와..
-
[SpringBoot] Converter를 사용한 사용자 정보 암호화 / Cascade 옵션 설정 / 모르는 개념 공부 방법Back-end/TIL 2022. 3. 30. 09:48
스타트업 백엔드 인턴으로 근무하며 배운 내용을 까먹지 않기 위해 정리하는 글입니다. 📌 사용자 정보 암호화 회사의 데이터베이스에는 사용자에 대한 정보(이름, 전화번호 등)가 암호화되어 저장되어 있었다. 팀장님께 여쭤보니 데이터 포털 사이트에 가면 사용자 정보 암호화 관련 법률이 있어서 그것을 따라야 한다고 말씀해주셨다. ▶️ 사용자 정보를 암호화하여 데이터베이스에 저장하는 방식 A. javax.persistence.AttributeConverter 인터페이스를 구현한 클래스를 생성 & 해당 클래스를 @Convert로 지정 import javax.persistence.AttributeConverter; import javax.persistence.Convert; @Convert public class St..