목록2023/11/30 (3)
나의 개발일지
접근 권한이 필요한 리소스에 접근 할 때 토큰의 유효성을 검증하는 과정에서 @ControllerAdvice, @ExceptionHandler로 처리해 오류 코드를 내려주려고 했는데 null 에러가 뜨는 것을 확인했다. 다른 분들이 피드백을 주셨는데 필터 내 예외처리는 일반 컨트롤러단에서 예외처리하는 것과 다르게 해줘야 한다는 것을 알게되었다. @ControllerAdvice 와 @ExceptionHandler - @ExceptionHandler는 @Controller가 적용된 Bean에서 발생하는 예외를 잡아 하나의 메서드에서 처리. - @ControllerAdvice는 @Controller 어노테이션이 적용된 모든 곳에서 발생하는 예외를 처리. 따라서 @ControllerAdvice가 적용된 클래스에 ..
더티체킹(Dirth Checking)이란 ? Dirth ) 엔티티 데이터의 변경된 부분 Dirth Checking) 변경된 부분을 감지한다. JPA에서 영속성 컨테이너가 관리하는 엔티티의 상태를 감지해서 변경된 부분이 있다면 자동으로 트랜잭션이 끝나는 시점에 데이터베이스에 반영하는 기능. 개발자가 update 관련된 쿼리를 작성하지 않아도 되기 때문에, 코드의 복잡성을 줄일 수 있다는 특징이 있다. 더티 체킹 조건 영속성 컨텍스트에서 관리되는 엔티티 영속성 컨텍스트는 엔티티를 처음 조회할 때 시작되며, 이후 변경을 감지한다. 준영속(Detach된 엔티티)/비영속(DB에 반영되기 전 처음 생성된 엔티티) 상태의 엔티티는 더티체킹의 대상이 되지 못 한다. == 값을 변경해도 DB에 반영되지 않는다. 영속성 ..
* 영속성 컨텍스트란 ? 엔티티를 영구 저장하는 환경. 애플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 데이터베이스 역할을 함. 엔티티 매니저를 통해 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리한다. em.persist(member); // 엔티티 매니저를 사용해 회원 엔티티를 영속성 컨텍스트에 저장한다는 의미. - 영속성 컨텍스트의 특징 1. 엔티티 매니저를 생성할 때 하나 만들어진다. 2. 엔티티 매니저를 통해서 영속성 컨텍스트에 접근하고 관리할 수 있다. 엔티티의 생명주기 비영속(new/transient) : 영속성 컨텍스트와 전혀 관계가 없는 상태 영속(managed) : 영속성 컨텍스트에 저장된 상태 준영속(detached) : 영속성 컨텍스트..