본문 바로가기
반응형

영속성 컨텍스트2

JPA 를 공부하면서 알게 된 내용 정리 1 JPA 를 학습하면서 알게 된 내용을 정리해보았다. 🎯 컨트롤러에서 엔티티를 반환하지 마라 API 를 만들때는 절대로 엔티티를 외부로 반환하면 안된다. 만약 Member 엔티티 속성으로 name 과 password 가 추가된다면, 2가지 문제가 발생한다. 패스워드가 그대로 노출되는 문제가 있다. API 스팩이 변한다. 따라서 MemberRequestDto, MemberResponseDto 등의 DTO로 변환해서 넘기는 것이 좋다. 🎯 클래스 내 필드 직접 접근 VS getter() 를 통한 접근 클래스 내에서는 getter 를 호출하는 것보다 필드를 직접 호출하는 것이 코드가 더 깔끔하다. 그래서 필드에 직접 접근하는 방법을 주로 사용한다. 하지만,, JPA 프록시를 많이 다루게 되면 이 부분이 중요해지.. 2022. 1. 26.
영속성 관리 - 내부 동작 방식 JPA에서 가장 중요한 2가지 객체와 관계형 데이터베이스 매핑하기 영속성 컨텍스트 실제 JPA가 내부적으로 어떻게 동작하는지 이해하려면 영속성 컨텍스트에 대해 공부해야 한다. 엔티티 매니저 팩토리 / 엔티티 매니저 웹 어플리케이션에서 엔티티 매니저 팩토리가 고객의 요청이 올 때마다 엔티티 매니저를 생성한다. 엔티티 매니저는 내부적으로 DB 커넥션을 사용해서 DB를 사용한다. 그럼 영속성 컨텍스트는 뭐야? 엔티티를 영구 저장하는 환경 EntityManager.persist(entity); 엔티티를 DB에 저장하는 것이 아니라, 영속성 컨텍스트에 저장한다는 뜻에 주의하자. 영속성 컨텍스트는 논리적인 개념으로, 눈에 보이지 않는다. 엔티티 매니저를 통해서 영속성 컨텍스트에 접근한다. J2SE 환경에서는 엔티티.. 2020. 4. 3.