package com.openisle.model; import jakarta.persistence.*; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.annotations.CreationTimestamp; import java.time.LocalDateTime; @Entity @Getter @Setter @NoArgsConstructor @Table(name = "messages") public class Message { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @ManyToOne(optional = false, fetch = FetchType.LAZY) @JoinColumn(name = "conversation_id") private MessageConversation conversation; @ManyToOne(optional = false, fetch = FetchType.LAZY) @JoinColumn(name = "sender_id") private User sender; @Column(nullable = false, columnDefinition = "TEXT") private String content; @CreationTimestamp @Column(nullable = false, updatable = false) private LocalDateTime createdAt; }