package com.superbiz.agent.domain.entity; import jakarta.persistence.*; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.time.LocalDateTime; @Entity @Table(name = "knowledge_domain") @Data @Builder @NoArgsConstructor @AllArgsConstructor public class KnowledgeDomain { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "domain_id", unique = true, nullable = false, length = 64) private String domainId; @Column(name = "description", length = 256) private String description; @Column(name = "when_to_retrieve", columnDefinition = "TEXT") private String whenToRetrieve; @Column(name = "document_count", nullable = false) private int documentCount; @Column(name = "created_at", nullable = false, updatable = false) private LocalDateTime createdAt; @Column(name = "updated_at", nullable = false) private LocalDateTime updatedAt; @PrePersist protected void onCreate() { createdAt = LocalDateTime.now(); updatedAt = LocalDateTime.now(); } @PreUpdate protected void onUpdate() { updatedAt = LocalDateTime.now(); } }