일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Greedy
- spring
- JDBC
- Thymeleaf
- AOP
- java
- JPQL
- SpringBoot
- QueryDSL
- 그리디
- springdatajpa
- 자바
- Exception
- kotlin
- 김영한
- jpa
- 스프링 핵심 기능
- 스프링
- 백준
- 스프링 핵심 원리
- Android
- pointcut
- Proxy
- 알고리즘
- 인프런
- db
- transaction
- http
- Servlet
- Spring Boot
- Today
- Total
목록EntityListener (4)
개발자되기 프로젝트
좀 더 현실적으로 코드를 수정해보자. createdAt, updatedAt에 각각 @CreatedDate, @LastModifidedDate 붙여주고, @AuditingEntityListener를 활용하여 간단하게 적용할 수 있었다. 하지만 각 class의 createdAt, updatedAt에 일일히 annotation을 붙여주는 것도 일이다. 귀찮다. createdAt, updatedAt만 담당하는 class를 만들고 다른 class에서 상속받도록 하자. 그러면 일일히 안해줘도 된다. ㄱㅇㄷ 1. BaseEntity class BaseEntity 클래스를 만들자. 특징으로는 @MappedSuperclass를 사용한다. 해당 annotation의 의미는 해당 클래스를 상위 엔티티의 컬럼으로 쓰겠다는 의..
앞에서 정보의 생성/수정시 생성된 시간/수정된 시간이 입력될 수 있도록 EntityListener를 직접 만들어서 활용했다. 2021.06.15 - [JPA] - Entity Listener - 1 Entity Listener - 1 istener : 이벤트를 관찰하고 있다가 이벤트가 발생하면 특정 동작을 진행하는 것을 말한다. Entity Listener는 Entity가 동작하는 몇 가지 방법에 대한 이벤트를 관찰하고 있음. 1. Listener 관련 annotaions @P bsh-developer.tistory.com 2021.06.16 - [JPA] - Entity Listener : 2 Entity Listener : 2 히스토리 데이터의 경우 db의 특정 데이터가 수정이 되면 해당 값의 복사본..
히스토리 데이터의 경우 db의 특정 데이터가 수정이 되면 해당 값의 복사본은 다른 테이블에 복사해 두는 경우가 있음. 이전에 만든 user에 대한 정보는 중요한 정보로, 데이터의 수정이 이뤄졌을 때 수정된 내역의 히스토리가 필요하닫. 1.UserHistory class User의 수정 History 정보를 담을 클래스를 작성하자. package com.jpa.bookmanager.domain; import lombok.*; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import java.time.LocalDateTime; @Entity @NoArgsConstruct..
Listener : 이벤트를 관찰하고 있다가 이벤트가 발생하면 특정 동작을 진행하는 것을 말한다. Entity Listener는 Entity가 동작하는 몇 가지 방법에 대한 이벤트를 관찰하고 있음. 1. Listener 관련 annotaions @PrePersist Persist, insert method 실행 전(해당 엔티티 저장 전) @PreUpdate Merge method 실행 전(해당 엔티티 업데이트 전) @PreRemove Delete method 실행 전(해당 엔티티 삭제 전) @PostPersist Persist method 실행 후(해당 엔티티 저장 후) @PostUpdate Merge method 실행 후(헤당 엔티티 업데이트 후) @PostRemove Delete method 실행 후..