2017-12-27 6 views
0

Ich möchte 2 Datumsfelder meiner Einheit hinzufügenWie Feldstandardwerte für verschiedene Methoden in Spring Data Rest hinzugefügt werden?

  • creation
  • lastModificationDate

Wie kann ich die Standardwerte für sie in Spring Data REST definieren, so dass creation es Standardwert (Strom bekommt Datum) wenn ich die Entität erstelle und das lastModificationDate seinen Wert als aktuelles Datum für jede Put-Anfrage für diese Entität erhält?

+0

keinen Grund, dies nicht zu Ihrer Datenbank zu delegieren? –

+0

Ich denke nein, aber wenn möglich, würde ich die ganze Logik an einem Ort haben – Carmine

Antwort

1

Versuchen Sie, dies zu Ihrem Modell hinzuzufügen.

@PrePersist 
void onCreate() { 
    this.setCreationDate(new Timestamp((new Date()).getTime())); 
} 

@PreUpdate 
void onPersist() { 
    this.setLastModificationDate(new Timestamp((new Date()).getTime())); 
} 
1

Sie können Zuhörer definieren:

public class EntityListener { 

    @PrePersist 
    public void beforeSave(Entity entity) { 
     entity.setCreationDate(LocalDateTime.now()); 
     entity.setLastModificationDate(LocalDateTime.now()); 
    } 

    @PreUpdate 
    public void beforeUpdate(Entity entity) { 
     entity.setLastModificationDate(LocalDateTime.now()); 
    } 
} 
Verwandte Themen