Skip to content
Snippets Groups Projects
CoursesOfStudy.java 2.84 KiB
Newer Older
TayBone2305's avatar
TayBone2305 committed
package classes;

import jakarta.persistence.*;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

@Entity
@Table(name = "Studiengang")
public class CoursesOfStudy
{
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "ID")
    private int id;

    @Column(name = "Name")
    private String name;

    @Column(name = "Abschluss")
    private String degree;

    @Column(name = "Dauer")
    private int duration;

    @Column(name = "Studiengebühr")
    private int fees;

    @Column(name = "Schwerpunkt")
    private String fieldOfStudy;

    @OneToMany(
            mappedBy = "coursesOfStudy",
            cascade = CascadeType.ALL,
            orphanRemoval = true
    )
TayBone2305's avatar
TayBone2305 committed
    private List<Course> courses = new ArrayList<>();
    @ManyToOne
    @JoinColumn(name = "courses_of_study_id")
    private CoursesOfStudy coursesOfStudy;
TayBone2305's avatar
TayBone2305 committed

TayBone2305's avatar
TayBone2305 committed
    public CoursesOfStudy getCoursesOfStudy() {
        return coursesOfStudy;
    }

    /*
TayBone2305's avatar
TayBone2305 committed
    @ManyToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "courses_of_study_id")
    private CoursesOfStudy coursesOfStudy;
TayBone2305's avatar
TayBone2305 committed
    */
TayBone2305's avatar
TayBone2305 committed

    public CoursesOfStudy()
    {

    }

TayBone2305's avatar
TayBone2305 committed
    public CoursesOfStudy(String name, String degree, int duration, int fees, String fieldOfStudy)
TayBone2305's avatar
TayBone2305 committed
    {
        this.name = name;
        this.degree = degree;
        this.duration = duration;
        this.fees = fees;
        this.fieldOfStudy = fieldOfStudy;
    }

    @Override
    public boolean equals(Object o)
    {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        CoursesOfStudy that = (CoursesOfStudy) o;
        return id == that.id;
    }

    @Override
    public int hashCode()
    {
        return Objects.hash(id);
    }

    public int getId()
    {
        return id;
    }

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

    public String getName()
    {
        return name;
    }

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

    public String getDegree()
    {
        return degree;
    }

    public void setDegree(String degree)
    {
        this.degree = degree;
    }

    public int getDuration()
    {
        return duration;
    }

    public void setDuration(int duration)
    {
        this.duration = duration;
    }

    public int getFees()
    {
        return fees;
    }

    public void setFees(int fees)
    {
        this.fees = fees;
    }

    public String getFieldOfStudy()
    {
        return fieldOfStudy;
    }

    public void setFieldOfStudy(String fieldOfStudy)
    {
        this.fieldOfStudy = fieldOfStudy;
    }

TayBone2305's avatar
TayBone2305 committed
    public void addCourse(Course course)
TayBone2305's avatar
TayBone2305 committed
    {
        courses.add(course);
TayBone2305's avatar
TayBone2305 committed
        course.setCoursesOfStudy(this);
TayBone2305's avatar
TayBone2305 committed
    public void removeCourse(Course course)
TayBone2305's avatar
TayBone2305 committed
    {
        courses.remove(course);
TayBone2305's avatar
TayBone2305 committed
        course.setCoursesOfStudy(null);
    }
TayBone2305's avatar
TayBone2305 committed
}