package com.example.system.model;

import com.example.system.utils.DateUtil;
import lombok.Data;

import javax.persistence.*;
import java.util.Date;

/**
 * 评论实体类，对应数据库中的comment_table表。
 */
@Data // Lombok注解，用于自动生成getter、setter、toString、equals、hashCode方法。
@Entity // JPA注解，标记这是一个JPA实体。
@Table(name = "comment_table") // JPA注解，用于指定实体对应的数据库表名。
public class CommentTable {
    @Id // JPA注解，指明这个字段是表的主键。
    @GeneratedValue(strategy = GenerationType.IDENTITY) // JPA注解，主键的生成策略为数据库自增。
    private Long commentId; // 评论ID，对应数据库中的comment_id字段。

    @JoinColumn(name = "user_id", nullable = false) // JPA注解，指定用于关联的外键列。
    private Integer userId; // 对应数据库中的user_id外键。

    @JoinColumn(name = "article_id", nullable = false) // JPA注解，指定用于关联的外键列。
    private Integer articleId; // 文章实体，对应数据库中的article_id外键。

    @Column(nullable = false) // JPA注解，配置列的详细信息，比如非空约束。
    private String commentContent; // 评论内容，对应数据库中的comment_content字段。

    @Column(nullable = false) // JPA注解，配置列的详细信息，比如非空约束。
    private Date publishTime; // 发布时间，对应数据库中的publish_time字段。
}
