package com.cristobalbernal.foro.Entidades;

import jakarta.persistence.*;

import java.sql.Timestamp;
import java.util.Objects;

@Entity
@Table(name = "respuestas", schema = "forogruas", catalog = "")
public class RespuestasEntity {
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Id
    @Column(name = "id", nullable = false)
    private int id;
    @Basic
    @Column(name = "Post", nullable = true, length = 45)
    private String post;
    @Version
    @Basic
    @Column(name = "fechaYHora", nullable = true)
    private Timestamp fechaYHora;
    @ManyToOne
    @JoinColumn(name = "Respuestas_id", nullable = true)
    private RespuestasEntity respuestasId;
    @Basic
    @Column(name = "users_id", nullable = false)
    private int usersId;
    @Basic
    @Column(name = "Foro_id", nullable = false)
    private int foroId;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getPost() {
        return post;
    }

    public void setPost(String post) {
        this.post = post;
    }

    public Timestamp getFechaYHora() {
        return fechaYHora;
    }

    public void setFechaYHora(Timestamp fechaYHora) {
        this.fechaYHora = fechaYHora;
    }

    public RespuestasEntity getRespuestasId() {
        return respuestasId;
    }

    public void setRespuestasId(RespuestasEntity respuestasId) {
        this.respuestasId = respuestasId;
    }

    public int getUsersId() {
        return usersId;
    }

    public void setUsersId(int usersId) {
        this.usersId = usersId;
    }

    public int getForoId() {
        return foroId;
    }

    public void setForoId(int foroId) {
        this.foroId = foroId;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        RespuestasEntity that = (RespuestasEntity) o;
        return id == that.id && usersId == that.usersId && foroId == that.foroId && Objects.equals(post, that.post) && Objects.equals(fechaYHora, that.fechaYHora) && Objects.equals(respuestasId, that.respuestasId);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, post, fechaYHora, respuestasId, usersId, foroId);
    }
}
