history Envers로 개발 @Configuration @EnableJpaAuditing
https://mvnrepository.com/artifact/org.hibernate.orm/hibernate-envers/6.0.2.Final
Maven Repository: org.hibernate.orm » hibernate-envers » 6.0.2.Final
Hibernate's entity version (audit/history) support Note: There is a new version for this artifact org.hibernate.orm hibernate-envers 6.0.2.Final // https://mvnrepository.com/artifact/org.hibernate.orm/hibernate-envers implementation group: 'org.hibernate.o
mvnrepository.com
build.gradle로
implementation 'org.hibernate.orm:hibernate-envers:6.0.2.Final'
넣어줌. 처음에 이것을 넣으니
Class file has wrong version 52.0, should be 50.0
에러나옴 --> 원인 6.0 버전 이상 부터는 자바11을 지원하기 때문에 생긴 문제.
implementation 'org.hibernate:hibernate-envers:5.6.10.Final'
자바8 이기 때문에 이걸 사용
2. Jpa Auditing 활성화
1
2
|
@EnableJpaAuditing
public class Application extends SpringBootServletInitializer {
|
cs |
나는 사용
import org.springframework.context.annotation.Configuration;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
@Configuration
@EnableJpaAuditing
public class JpaConfig {
public JpaConfig() {
}
}
@Configuration
-> 그냥 설정 값을 지정 하고 싶을 때 사용하는 어노테이션
@EnableJpaAuditing
@Configuration 설명
https://mangkyu.tistory.com/75
[Spring] 빈 등록을 위한 어노테이션 @Bean, @Configuration, @Component 차이 및 비교 - (1/2)
기존의 Spring MVC에서는 xml을 활용하여 Bean을 등록하고 있었다. 하지만 프로젝트의 규모가 커짐에 따라 사용하는 요소들을 xml에 등록하는 것이 상당히 번거로워 져서 어노테이션(Annotation, @)를 활
mangkyu.tistory.com
@Entity
@Audited
public class Board extends BaseTimeEntity {
만 달아주면 됨.
@Audited
그리고 안에 만약에 다른 내용을 extends(상속) 받아서 칼럼으로 만들어서 쓰고 싶으면
마찬가지로 달아줘야함.
@Audited
public abstract class BaseTimeEntity {
@CreatedDate //생성할 때 자동저장
private LocalDateTime createdDate;
@LastModifiedDate //수정할 때 자동저장
private LocalDateTime modifiedDate;
}
그러면 이쁘게 extends로 상속 받은 created_date , modified_date 포함해서 테이블이 이쁘게 만들어짐 굿굿
만약에 컴파일 안되면
그 다른 테이블 참조 안됐다고 뭐시기 에러 나올텐데,
다른 곳에도 넣어주자 그럼 해결됨.