Files
velocity-pay-springboot/src/main/java/zw/qantra/tm/domain/models/BaseEntity.java
2025-07-11 12:25:46 +02:00

41 lines
1.1 KiB
Java

package zw.qantra.tm.domain.models;
import jakarta.persistence.Column;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.MappedSuperclass;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.CreationTimestamp;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.annotations.UpdateTimestamp;
import org.hibernate.type.SqlTypes;
import java.time.LocalDateTime;
import java.util.UUID;
@Getter
@Setter
@MappedSuperclass
public class BaseEntity {
@Id
@GeneratedValue(generator = "UUID")
@GenericGenerator(
name = "UUID",
strategy = "org.hibernate.id.UUIDGenerator"
)
@JdbcTypeCode(SqlTypes.UUID)
@Column(name = "id", updatable = false, nullable = false)
private UUID id;
@CreationTimestamp
@Column(name = "created_at", nullable = true, updatable = false)
private LocalDateTime createdAt; // Or Date, Timestamp
@UpdateTimestamp
@Column(name = "updated_at", nullable = true)
private LocalDateTime updatedAt; // Or Date, Timestamp
}