인프런 - 실전! 스프링 데이터 JPA
엔티티를 생성, 변경할 때 변경한 사람과 시간을 추적하고 싶다면?
- 등록일
- 수정일
- 등록자
- 수정자
순수 JPA 사용
1. baseEntity 생성
-> 기존 엔티티에서 baseEntity의 속성만을 상속받게 하기 위해서는 @MappedSuperclass 어노테이션 적용
2. 기존 엔티티 상속 - 무슨 엔티티건 Base Entity를 상속받으면 된다.
3. 테스트
스프링 데이터 JPA
1. 설정
- @EnableJpaAuditing 스프링 부트 설정 클래스에 적용
- @EntityListeners(auditingEntityListener.class) 엔티티에 적용
2. 기존 엔티티 상속
3. 테스트
스프링 데이터 JPA / 등록자, 수정자
1. BaseEntity 추가
2. 빈 추가 ( 실무에서는 Session 값에서 찾아서 넣음 )
3. 테스트
참고
@EntityListeners(AuditingEntityListener.class) 를 생략하고 스프링 데이터 JPA 가 제공하는 이벤트를 엔티티 전체에 적용하려면 orm.xml에 다음과 같이 등록하면 된다.
<?xml version=“1.0” encoding="UTF-8”?>
<entity-mappings xmlns=“http://xmlns.jcp.org/xml/ns/persistence/orm”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=“http://xmlns.jcp.org/xml/ns/persistence/
orm http://xmlns.jcp.org/xml/ns/persistence/orm_2_2.xsd”
version=“2.2">
<persistence-unit-metadata>
<persistence-unit-defaults>
<entity-listeners>
<entity-listener
class="org.springframework.data.jpa.domain.support.AuditingEntityListener”/>
</entity-listeners>
</persistence-unit-defaults>
</persistence-unit-metadata>
</entity-mappings>
'Back-end > Spring Data Jpa' 카테고리의 다른 글
스프링 데이터 JPA 분석 (0) | 2021.06.08 |
---|---|
확장 기능 - Web 확장 (0) | 2021.06.07 |
확장 기능 - 사용자 정의 리포지토리 구현 (★실무) (0) | 2021.06.07 |
쿼리 메소드 기능 - JPA Hint & Lock (0) | 2021.06.07 |
쿼리 메소드 기능 - @EntityGraph (0) | 2021.06.07 |