Untitled
plain_text
2 months ago
2.8 kB
2
Indexable
Never
@Entity @Table(name = "classrooms") public class Classroom { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinTable(name = "classroom_students", joinColumns = {@JoinColumn(name = "classroom_id")}, inverseJoinColumns = {@JoinColumn(name = "student_id")}) private List<Student> students; // Getters, Setters و سایر قسمتهای مورد نیاز... } ---------------------- @Entity @Table(name = "students") public class Student { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; @ManyToMany(mappedBy = "students") private List<Classroom> classrooms; // Getters, Setters و سایر قسمتهای مورد نیاز... } ------------------------- @Repository public interface ClassroomRepository extends JpaRepository<Classroom, Long> { } -------------------- @Repository public interface StudentRepository extends JpaRepository<Student, Long> { } ------------------ @Service public class ClassroomService { private final ClassroomRepository classroomRepository; public ClassroomService(ClassroomRepository classroomRepository) { this.classroomRepository = classroomRepository; } public Classroom saveClassroom(Classroom classroom) { return classroomRepository.save(classroom); } public List<Classroom> getAllClassrooms() { return classroomRepository.findAll(); } public Classroom getClassroomById(Long id) { return classroomRepository.findById(id) .orElseThrow(() -> new NotFoundException("Classroom not found with id: " + id)); } public void deleteClassroom(Long id) { classroomRepository.deleteById(id); } } --------------------------- @Service public class StudentService { private final StudentRepository studentRepository; public StudentService(StudentRepository studentRepository) { this.studentRepository = studentRepository; } public Student saveStudent(Student student) { return studentRepository.save(student); } public List<Student> getAllStudents() { return studentRepository.findAll(); } public Student getStudentById(Long id) { return studentRepository.findById(id) .orElseThrow(() -> new NotFoundException("Student not found with id: " + id)); } public void deleteStudent(Long id) { studentRepository.deleteById(id); } } -------------------------