Granskning med @CreatedDate
Spåra när entiteter skapas och ändras automatiskt.
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 createdAtSnabbkontroll
Testa hur väl Ni har förstått auditing.
Sammanfattning
Ni har lärt Er automatisk auditing:
@EnableJpaAuditingaktiverar funktionen@EntityListeners(AuditingEntityListener.class)på entiteter@CreatedDate/@LastModifiedDateför tidsstämplarAuditorAwarefyller i@CreatedBy
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
- Dynamiska frågor med Specifications
- Projektioner och DTO:er
- Granskning med @CreatedDate
- Paginering och sortering