각 데이터마다 '누가', '언제' 데이터를 생성했고 변경했는지 알기 위해 사용한다.
대표적으로 많이 사용되는 필드들은
JPA Auditing 기능을 활성화하려면 가장 먼저 main()메서드가 있는 클래스에 @EnableJpaAuditing 어노테이션을 추가하면 된다.
@SpringBootApplication
@EnableJpaAuditing
public class TrafficManagerApplication {
public static void main(String[] args) {
SpringApplication.run(TrafficManagerApplication.class, args);
}
}
@Getter
@Setter
@ToString
@MappingSuperclass //JPA의 엔티티 클래스가 상속받을 경우 자식 클래스에게 매핑 정보를 전달한다.
@EntityListeners(AuditingEntityListener.class)
puvlic class BaseEntity{
@CreateDate //생성일자
@Colmn(updatable = false)
private LocalDateTime createAt;
@LastModifiedDate //변경일자
private LocalDateTime updateAt;
}
@Entity
@Getter
@Setter
@NoArgsConstructor
@ToString(callSuper = true) //부모 클래스의 필드를 포함하는 역활을 수행
@EqualsAndHashCode(callSuper = true)
@Table(name = "product")
public class ProductEntity extends BaseEntity{
@Id
String productId;
@Column(nullable = false)
String productName;
@Column(nullable = false)
Integer productPrice;
@Column(nullable = false)
Integer productStock;
}