Ja, können Sie die Änderungen vorgenommen haben, aktualisiert Benutzer und Zeitstempel verfolgen.
Hibernate stellt @Audited
Annotation zur Verfügung, um die Entity-Version zu verwalten.
Frühling bietet @CreatedBy
@LastModifiedBy
@CreatedDate
und @LastModifiedDate
Anmerkungen, unter diesen benötigen Sie den Benutzernamen zur Verfügung zu stellen, die AuditorAware
Bean aktualisiert werden.
Rechnungsprüfung zu aktivieren,
@EnableJpaAuditing
auf Konfigurationsklasse
@Audited
mit
@Audited
und @EntityListeners(AuditingEntityListener.class)
auf Entitäten
AuditorAware<T>
bereitzustellen, um die Benutzername
- Kinder Entitäten mit Anmerkungen versehen werden sollen
sollte hinzufügen
Beispiel
@Bean
public AuditorAware<String> createAuditorProvider() {
return() -> "username"; // should be from context/session
}
Für jeden Einheiten eine zusätzliche Tabelle Version
{ENTITY_NAME}_AUD
zu halten erstellt werden // können das Präfix und Suffix Namens Audit-Tabelle
REVINFO
außer Kraft setzen Unten ist ein Beispiel für eine Eins-zu-Viele-Beziehung mit dem Winterschlaf- und Frühjahrs-Auditing
UserInfo.java
@Audited
@Entity
@EntityListeners(AuditingEntityListener.class)
public class UserInfo extends AuditInfo {
@Id
@GeneratedValue
private Long id;
@Column
private String name;
@OneToMany(mappedBy = "userInfo", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private List<UserAddress> addresses;
}
UserAddress.java
@Entity
@Audited
@EntityListeners(AuditingEntityListener.class)
public class UserAddress extends AuditInfo {
@Id
@GeneratedValue
private Long addressId;
@ManyToOne
@JoinColumn(name = "id", nullable = false)
private UserInfo userInfo;
@Column
private Long no;
@Column
private String street;
}
AuditInfo.java
@EntityListeners(AuditingEntityListener.class)
@MappedSuperclass
public abstract class AuditInfo {
@CreatedBy
private String createdBy;
@LastModifiedBy
private String updatedBy;
@CreatedDate
private LocalDateTime createdOn;
@LastModifiedDate
private LocalDateTime updatedOn;
}
kann ich Hibernate JPA und Spring Daten JPA gleiche Zeit? Ich kann @EnableJpaAuditing nicht erkennen. Welche Bibliothek muss ich dafür importieren? – Purmarili
'spring-data-jpa',' hibernate-jpa' und 'hibernate-envers' – Saravana
Hallo, ich bin ziemlich spät, kann ich fragen, wie diese Tabellen erstellt werden? – Vipul