У меня есть приведенное ниже однонаправленное отображение «Много к одному»
@Entity
public class Item implements Serializable {
private Integer id;
private Double amount;
private Country origin;
@ManyToOne(optional=true)
@JoinColumn
public Country getOrigin() {
return this.origin;
}
}
@Entity
public class Country implements Serializable{
private String code;
private String desc;
}
Допустим, отношение является необязательным, поэтому я пытаюсь удалить отношение, обновив его до нуля, используя код ниже
Country country = null;
//item is detached
item.setOrigin(country);
em.merge(item);
Но в результате получается, что отношения не удаляются.Однако этот код работает нормально, если country
не равен NULL и система может обновить отношения в БД.Он просто игнорирует поле, если оно пустое.Может кто-нибудь указать, какие настройки можно изменить, чтобы достичь желаемого результата?
PS Напоминаем, что я не хочу удалять сущность Country
, а просто удалите связь между ними.