0Pricing
Spring Boot 4 Microservices & REST APIs · Lección

Auditoría con @CreatedDate

Rastree automáticamente la creación y los cambios de las entidades

Auditoría con @CreatedDate es una lección gratuita de Spring Boot 4 Microservices & REST APIs en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Spring Boot 4 Microservices & REST APIs, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Spring Boot 4 Microservices & REST APIs incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

What is JPA Auditing

Auditing automatically tracks who created or modified an entity and when, without manual code in every save.

Spring Data JPA fills audit fields on insert and update for you.

Enabling Auditing

Add @EnableJpaAuditing to a configuration class to activate the feature.

@Configuration
@EnableJpaAuditing
public class JpaConfig {
}

Registering the Listener

Annotate audited entities with @EntityListeners(AuditingEntityListener.class) so the callbacks fire.

@Entity
@EntityListeners(AuditingEntityListener.class)
public class Product {
    @Id @GeneratedValue
    private Long id;
}

@CreatedDate

@CreatedDate is set once when the entity is first persisted.

@CreatedDate
private Instant createdAt;

@LastModifiedDate

@LastModifiedDate updates on every save, including updates.

@LastModifiedDate
private Instant updatedAt;

A Complete Audited Entity

Putting the timestamp fields together.

@Entity
@EntityListeners(AuditingEntityListener.class)
public class Product {
    @Id @GeneratedValue
    private Long id;

    @CreatedDate
    private Instant createdAt;

    @LastModifiedDate
    private Instant updatedAt;
}

Auditing the User

@CreatedBy and @LastModifiedBy record who made the change.

@CreatedBy
private String createdBy;

@LastModifiedBy
private String modifiedBy;

AuditorAware

To populate the user fields, provide an AuditorAware bean that returns the current principal.

@Bean
public AuditorAware<String> auditorProvider() {
    return () -> Optional.of(
        SecurityContextHolder.getContext()
            .getAuthentication().getName());
}

Reusable Base Class

Put audit fields in a @MappedSuperclass so all entities inherit them.

@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public abstract class Auditable {
    @CreatedDate
    private Instant createdAt;
    @LastModifiedDate
    private Instant updatedAt;
}

Choosing a Date Type

Audit fields can be Instant, LocalDateTime, or Long. Configure the reference via dateTimeProviderRef if needed.

Verifying Auditing

On the first save createdAt and updatedAt are equal; after an update, only updatedAt changes.

Product p = repository.save(new Product());
// createdAt == updatedAt
p.setName("New");
repository.save(p);
// updatedAt is now later than createdAt

Quick Check

Test your understanding of auditing.

Recap

You learned automatic auditing:

  • @EnableJpaAuditing turns it on
  • @EntityListeners(AuditingEntityListener.class) on entities
  • @CreatedDate / @LastModifiedDate for timestamps
  • AuditorAware populates @CreatedBy

Preguntas frecuentes

¿La lección «Auditoría con @CreatedDate» es gratis?

Sí — el texto completo de «Auditoría con @CreatedDate» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Spring Boot 4 Microservices & REST APIs, actualiza a CoddyKit PRO. El curso de Spring Boot 4 Microservices & REST APIs incluye 4 lecciones en total.

¿Qué aprenderé en «Auditoría con @CreatedDate»?

Rastree automáticamente la creación y los cambios de las entidades Practicas Spring Boot 4 Microservices & REST APIs con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Spring Boot 4 Microservices & REST APIs?

No se requiere experiencia previa. Spring Boot 4 Microservices & REST APIs en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Auditoría con @CreatedDate»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Spring Boot 4 Microservices & REST APIs?

Sí. Cada lección de Spring Boot 4 Microservices & REST APIs incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Consultas dinámicas con Specifications
  2. Proyecciones y DTOs
  3. Auditoría con @CreatedDate
  4. Paginación y ordenación
← Volver a Spring Boot 4 Microservices & REST APIs