оффисов(Оффисы тоже отдельный объект) делаю через ElementCollection, вот пример
@ElementCollection
@CollectionTable(name = "department_office", joinColumns = @JoinColumn(name = "department_id"))
@Column(name = "office_id")
@Cascade(org.hibernate.annotations.CascadeType.ALL)
private Set<Long> officeIds;
при попытке запроса (сохранить) (через котроллер->сервис) выдает такую ошибку "Field 'office_ids_id' doesn't have a default value", как фиксить?
Идеологически неуместное использование ЭлементКоллекшн. Лучше Ван-Ту-Мэни. Здесь попробуй закомментить для начала @Колумн
сделал так @OneToMany @JoinTable( name = "department_office", joinColumns = @JoinColumn(name = "department_id"), inverseJoinColumns = @JoinColumn(name = "office_id") ) @Cascade(org.hibernate.annotations.CascadeType.ALL) private Set<Office> officeIds; но ошибка всё та же "Field 'office_ids_id' doesn't have a default value"
Почитай про маппинг. Сейчас у тебя путаница. ДжойнТйэбл к Мэни-Ту-Мэни вообще относится.
ты ошибку-то читал? тебе явно говорят, что поле не может не иметь значения. это правило для всех FK и PK
Обсуждают сегодня