본문 바로가기

JPA3

[JPA] JPA Auditing 정리 및 구현 서론 JPA를 사용하여 도메인을 관계형 데이터베이스 테이블에 매핑할 때 공통적으로 도메인들이 가지고 있는 필드나 컬럼들이 존재한다. ex) 생성 일자, 수정 일자, 생성자, 수정자... 도메인마다 공통으로 존재한다는 의미는 결국 코드가 중복된다는 것을 의미한다. 그래서 JPA에서는 Audit이라는 기능을 제공한다 Audit은 Spring Data JPA에서 시간에 대해서 자동으로 값을 넣어주는 기능이다. 도메인을 영속성 컨텍스트에 저장하거나 조회를 수행한 후에 update를 하는 경우 매번 시간 데이터를 입력하여 주어야 하는데, Audit을 이용하면 자동으로 시간을 매핑하여 데이터베이스의 테이블에 넣어주게 된다. JPA Audit은 데이터의 변경 기록을 추적하고 데이터 변화에 대한 이력을 기록하는 것을 .. 2023. 4. 10.
[JPA] 연관관계 매핑 참고 Spring Jpa 연관관계에 대해 설명된 블로그 참고 https://victorydntmd.tistory.com/208 [Spring JPA] 연관관계 매핑 연관관계 매핑엔티티( Entity )들은 대부분 서로 관계를 맺고 있습니다.예를들어 Category 엔티티와 Book 엔티티가 있을 때, Category에는 많은 Book을 갖는 관계를 갖고 있습니다.이렇게 엔티티들이 서로 victorydntmd.tistory.com 2023. 1. 3.
[JPA] 에러 could not initialize proxy - no Session 문제상황 시큐리티를 커스터마이징해서 로그인과정을 진행중에 could not initialize proxy - no Session http code 500 에러가 발생했다. UserDetailsService와 UserDetails에 대한 구현체를 작성하고, Controller에서 @AuthenticationPrincipal로 사용자 세션을 제대로 가져오나 확인하는 과정에서 문제발생. @GetMapping("/user/{id}/update") public String update(@PathVariable int id, @AuthenticationPrincipal PrincipalDetail principalDetail) { log.info("======================="); log.info(p.. 2022. 11. 19.