Mon premier commit
This commit is contained in:
44
src/main/java/com/lions/dev/entity/BaseEntity.java
Normal file
44
src/main/java/com/lions/dev/entity/BaseEntity.java
Normal file
@@ -0,0 +1,44 @@
|
||||
package com.lions.dev.entity;
|
||||
|
||||
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
|
||||
import jakarta.persistence.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.UUID;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.annotations.UuidGenerator;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@MappedSuperclass
|
||||
public abstract class BaseEntity extends PanacheEntityBase {
|
||||
|
||||
@Id
|
||||
@UuidGenerator
|
||||
@Column(name = "id", updatable = false, nullable = false)
|
||||
private UUID id;
|
||||
|
||||
@Column(name = "created_at", updatable = false)
|
||||
private LocalDateTime createdAt;
|
||||
|
||||
@Column(name = "updated_at")
|
||||
private LocalDateTime updatedAt;
|
||||
|
||||
@Column(name = "created_by")
|
||||
private String createdBy;
|
||||
|
||||
@Column(name = "updated_by")
|
||||
private String updatedBy;
|
||||
|
||||
@PrePersist
|
||||
protected void onCreate() {
|
||||
this.createdAt = LocalDateTime.now();
|
||||
// Logique pour définir `createdBy` à partir du contexte utilisateur
|
||||
}
|
||||
|
||||
@PreUpdate
|
||||
protected void onUpdate() {
|
||||
this.updatedAt = LocalDateTime.now();
|
||||
// Logique pour définir `updatedBy` à partir du contexte utilisateur
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user