Spring: не удалось определить тип для: java.util.List - PullRequest
0 голосов
/ 03 октября 2019

У меня есть следующий сценарий: у меня есть класс Student и таблица students. У меня есть курс и класс courses. Каждый студент и курс имеют уникальный идентификатор. Я хотел бы поместить Список в класс Студента, который сопоставлен с идентификаторами курсов.

Я перепробовал много аннотаций и отношений, но ничего не получилось

@Entity
@Table(name = "courses")
public class Course {

    private long id;
    private String name;

    public Course() {

    }

    public Course(String name, int size) {
        this.name = name;
        this.size = size;
    }

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public long getId() {
        return id;
    }

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

    @Column(name = "name", nullable = false)
    public String getName() {
        return name;
    }

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

}
@Entity
@Table(name = "students")
public class Student {

    private long id;
    private String name;
    @OneToMany(cascade = CascadeType.ALL)
    private List<Course> courses = new ArrayList<>();

    public Student() {

    }

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public long getId() {
        return id;
    }

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

    @Column(name = "name", nullable = false)
    public String getName() {
        return name;
    }

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

    public List<Course> getCourses() {
        return courses;
    }

    public void setCourses(List<Course> courses) {
        this.courses = courses;
    }
}

Можете ли вы помочь мне в этом, потому что я новичок в весне

Ответы [ 3 ]

0 голосов
/ 03 октября 2019

Вам необходимо использовать аннотацию OneToMany.

@OneToMany(mappedBy = "students", cascade = CascadeType.ALL)
private List<Course> courses;
0 голосов
/ 03 октября 2019

Вам необходимо указать тип списка. Например List<Courses> courseList = new ArrayList<>();

0 голосов
/ 03 октября 2019

Используйте следующее при объявлении отношения один ко многим

@Column(name="course_id")
private Set<Course> courses;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...