Spring Boot 4-mikrotjänster och REST API:er · Lektion

Granskning med @CreatedDate

Spåra när entiteter skapas och ändras automatiskt.

Lektion 3 av 413 steg

Granskning med @CreatedDate är en gratis lektion i Spring Boot 4-mikrotjänster och REST API:er på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Spring Boot 4-mikrotjänster och REST API:er, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Spring Boot 4-mikrotjänster och REST API:er innehåller totalt 4 lektioner.

Vad är JPA Auditing

Auditing spårar automatiskt vem som skapade eller ändrade en entitet och när det skedde, utan manuell kod vid varje sparning.

Spring Data JPA fyller i granskningsfälten vid insättning och uppdatering åt Er.

Aktivera auditing

Lägg till @EnableJpaAuditing i en konfigurationsklass för att aktivera funktionen.

@Configuration
@EnableJpaAuditing
public class JpaConfig {
}

Registrera lyssnaren

Annotera entiteter som ska granskas med @EntityListeners(AuditingEntityListener.class) så att återanropen körs.

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

@CreatedDate

@CreatedDate anges en gång när entiteten sparas första gången.

@CreatedDate
private Instant createdAt;

@LastModifiedDate

@LastModifiedDate uppdateras vid varje sparning, även vid uppdateringar.

@LastModifiedDate
private Instant updatedAt;

En komplett granskad entitet

Samla tidsstämpelfälten.

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

    @CreatedDate
    private Instant createdAt;

    @LastModifiedDate
    private Instant updatedAt;
}

Granska användaren

@CreatedBy och @LastModifiedBy registrerar vem som gjorde ändringen.

@CreatedBy
private String createdBy;

@LastModifiedBy
private String modifiedBy;

AuditorAware

För att fylla i användarfälten tillhandahåller Ni en AuditorAware-bean som returnerar den aktuella principalen.

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

Återanvändbar basklass

Lägg granskningsfälten i en @MappedSuperclass så att alla entiteter ärver dem.

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

Välja datatyp för datum

Granskningsfält kan vara av typen Instant, LocalDateTime eller Long. Konfigurera referensen via dateTimeProviderRef vid behov.

Verifiera auditing

Vid den första sparningen är createdAt och updatedAt lika. Efter en uppdatering ändras endast updatedAt.

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

Snabbkontroll

Testa hur väl Ni har förstått auditing.

Sammanfattning

Ni har lärt Er automatisk auditing:

  • @EnableJpaAuditing aktiverar funktionen
  • @EntityListeners(AuditingEntityListener.class) på entiteter
  • @CreatedDate / @LastModifiedDate för tidsstämplar
  • AuditorAware fyller i @CreatedBy
Gratis att börja

Lär dig Java med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
24
Lektioner
93

Vanliga frågor

Är lektionen ”Granskning med @CreatedDate” gratis?

Ja – hela texten till ”Granskning med @CreatedDate” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Spring Boot 4-mikrotjänster och REST API:er, kan Ni uppgradera till CoddyKit PRO. Kursen i Spring Boot 4-mikrotjänster och REST API:er innehåller totalt 4 lektioner.

Vad lär jag mig i ”Granskning med @CreatedDate”?

Spåra när entiteter skapas och ändras automatiskt. Ni övar på Spring Boot 4-mikrotjänster och REST API:er med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Spring Boot 4-mikrotjänster och REST API:er?

Du behöver inga förkunskaper. Utbildningen i Spring Boot 4-mikrotjänster och REST API:er på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Granskning med @CreatedDate”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Spring Boot 4-mikrotjänster och REST API:er-lektionen?

Ja. Varje Spring Boot 4-mikrotjänster och REST API:er-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Dynamiska frågor med Specifications
  2. Projektioner och DTO:er
  3. Granskning med @CreatedDate
  4. Paginering och sortering
← Tillbaka till Spring Boot 4-mikrotjänster och REST API:er