can u help me make a main.java for the following program:
Doctors.java:
package com.ra.model;
import jakarta.persistence.*;

import java.util.List;

@Entity
@Table
public class Doctors {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;

    @ManyToOne
    @JoinColumn(name = "hospital_id")
    private Hospital hospital;

    @ManyToOne
    @JoinColumn(name = "specialty_id")
    private Specialty specialty;

    @OneToOne(mappedBy = "doctor")
    private Schedule schedule;

    @ManyToMany(mappedBy = "doctors")
    private List<Patient> patients;

    public Doctors(Long id, String name, Hospital hospital, Specialty specialty, Schedule schedule, List<Patient> patients) {
        this.id = id;
        this.name = name;
        this.hospital = hospital;
        this.specialty = specialty;
        this.schedule = schedule;
        this.patients = patients;
    }

    public Long getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Hospital getHospital() {
        return hospital;
    }

    public void setHospital(Hospital hospital) {
        this.hospital = hospital;
    }

    public Specialty getSpecialty() {
        return specialty;
    }

    public void setSpecialty(Specialty specialty) {
        this.specialty = specialty;
    }

    public Schedule getSchedule() {
        return schedule;
    }

    public void setSchedule(Schedule schedule) {
        this.schedule = schedule;
    }

    public List<Patient> getPatients() {
        return patients;
    }

    public void setPatients(List<Patient> patients) {
        this.patients = patients;
    }

    @Override
    public String toString() {
        return "Doctors{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", hospital=" + hospital +
                ", specialty=" + specialty +
                ", schedule=" + schedule +
                ", patients=" + patients +
                '}';
    }
}Patient.java:
package com.ra.model;

import jakarta.persistence.*;

import java.util.*;

@Entity
@Table
public class Patient {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private String address;

    @ManyToMany
    @JoinTable(
            name = "patient_doctors",
            joinColumns = @JoinColumn(name = "patient_id"),
            inverseJoinColumns = @JoinColumn(name = "doctor_id")
    )
    private List<Doctors> doctors;

    public Patient(Long id, String name, String address, List<Doctors> doctors) {
        this.id = id;
        this.name = name;
        this.address = address;
        this.doctors = doctors;
    }

    public Long getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public List<Doctors> getDoctors() {
        return doctors;
    }

    public void setDoctors(List<Doctors> doctors) {
        this.doctors = doctors;
    }

    @Override
    public String toString() {
        return "Patient{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", address='" + address + '\'' +
                ", doctors=" + doctors +
                '}';
    }
}Schedule.java:
package com.rahman.model;

import jakarta.persistence.*;
import java.time.LocalDateTime;

@Entity
@Table
public class Schedule {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String type;
    private LocalDateTime dateTime;

    @OneToOne
    @JoinColumn(name = "doctor_id")
    private Doctors doctor;

    public Schedule(Long id, String type, LocalDateTime dateTime, Doctors doctor) {
        this.id = id;
        this.type = type;
        this.dateTime = dateTime;
        this.doctor = doctor;
    }

    public Long getId() {
        return id;
    }

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

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public LocalDateTime getDateTime() {
        return dateTime;
    }

    public void setDateTime(LocalDateTime dateTime) {
        this.dateTime = dateTime;
    }

    public Doctors getDoctor() {
        return doctor;
    }

    public void setDoctor(Doctors doctor) {
        this.doctor = doctor;
    }

    @Override
    public String toString() {
        return "Schedule{" +
                "id=" + id +
                ", type='" + type + '\'' +
                ", dateTime=" + dateTime +
                ", doctor=" + doctor +
                '}';
    }
}Wait for part 2