package ru.mcs.diary.lesson;
import jakarta.persistence.*;
import lombok.*;
import ru.mcs.diary.group.StudyGroup;
import ru.mcs.diary.teacher.Teacher;
import java.time.LocalDate;
import java.time.LocalTime;
@Entity
@Table(name = "lessons")
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Lesson {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "group_id", nullable = false)
private StudyGroup group;
@Column(name = "lesson_date", nullable = false) // добавь name
private LocalDate date;
@Column(name = "start_time", nullable = false)
private LocalTime startTime;
@Column(name = "end_time", nullable = false)
private LocalTime endTime;
@Column(length = 255)
private String topic;
@Column(columnDefinition = "TEXT")
private String homework;
@Column(columnDefinition = "TEXT")
private String notes;
@Enumerated(EnumType.STRING)
@Column(nullable = false)
@Builder.Default
private LessonStatus status = LessonStatus.SCHEDULED;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "teacher_id", nullable = false)
private Teacher teacher;
}