У меня есть 2 таблицы, ЗАПРОС и ЭЛЕМЕНТ с отношениями «один ко многим», так что запрос имеет много элементов.
Я хотел бы применить ограничение Oracle NOT NULL для столбца внешнего ключа ELEMENT.ENQUIRY_ID, поскольку это лучшая практика. У меня есть следующая коллекция объекта Inquiry:
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "ENQUIRY_ID", referencedColumnName = "ID")
private Set<Element> elements = new HashSet<Element>();
Когда я применяю ограничение NOT NULL, я получаю следующую трассировку стека:
Вызвано: java.sql.BatchUpdateException: ORA-01400: невозможно вставить NULL в («ELEMENT». «ENQUIRY_ID»)
Таким образом, Hibernate, очевидно, сохраняет коллекцию элементов перед родительским запросом, а затем возвращается и выполняет ОБНОВЛЕНИЕ в поле внешнего ключа.
Есть ли способ применить ограничение NOT NULL для поля внешнего ключа коллекции?