#java #hibernate
#java #спящий режим
Вопрос:
Я изучаю сопоставление «один ко многим», и это моя область для курсов
@OneToMany(mappedBy = "instructor", cascade = {CascadeType.MERGE, CascadeType.PERSIST,
CascadeType.DETACH, CascadeType.REFRESH})
private List<Course> courses;
У меня есть несколько других полей, я обновлю вопрос, если кто-то попросит, но я думаю, что другие поля и код не важны, потому что все в порядке.
Моя проблема в том, что когда я перехожу к автоматической генерации геттеров и сеттеров, я получаю это:
public List<com.hibernate.demo.entity.Course> getCourses() {
return courses;
}
Как вы можете видеть по какой-то причине, параметром для списка является полный путь к пакету с именем параметра поля списка. Я могу вручную изменить его на just Course
, но это не работает после того, как я попытаюсь создать этот метод.
public void add(Course tempCourse) {
if (courses == null) {
courses = new ArrayList<>();
}
courses.add(tempCourse);
}
После того, как вручную измените параметр списка на Course
мою ошибку для метода Cannot access com.hibernate.demo.entity.Course
, это означает, что он все еще ищет полный пакет, даже если я ввел параметр Course
. Ошибка включена course.add(tempCourse);
Кроме того, я создал тот же список в классе курса с параметром инструктора, и все работает нормально.
Ответ №1:
Пожалуйста, посмотрите, включен ли корень ваших каталогов в путь к классу, и если ваш курс class является общедоступным, если проблема сохраняется, покажите, как ваши классы структурированы в пакетах, и я знаю, что это немного глупый вопрос, но вы импортировали класс, прежде чем генерировать getter и setter?
Комментарии:
1. У меня есть 3 пакета:
com.hibernate.demo
;com.hibernate.demo.entity
;com.hibernate.test.jdb
… Конечно, преподаватель в...entity
2. я вижу, пожалуйста, обновите свой вопрос полным кодом класса после автоматического создания геттеров и сеттеров.