package ru.mcs.diary.grade;
import jakarta.persistence.*;
import lombok.*;
import ru.mcs.diary.common.BaseEntity;
import ru.mcs.diary.schedule.Lesson;
import ru.mcs.diary.student.Student;
@Entity
@Table(name = "grades", uniqueConstraints = {
@UniqueConstraint(columnNames = {"lesson_id", "student_id"})
})
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Grade extends BaseEntity {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "lesson_id", nullable = false)
private Lesson lesson;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "student_id", nullable = false)
private Student student;
@Column(name = "grade_value", length = 20)
private String gradeValue; // "5", "4", "85", etc.
@Column(name = "grade_text", length = 50)
private String gradeText; // "Отлично", "Хорошо"
@Builder.Default
private Boolean attended = true;
@Column(columnDefinition = "TEXT")
private String comment;
}