Я пытаюсь реализовать сохранение / вставку «один ко многим» в базу данных с помощью хранимых процедур.Мне интересно, могу ли я отправить параметры родительского объекта в хранимую процедуру Oracle.
До сих пор я пробовал 2 отдельные процедуры, одну для родительской и одну для вставки дочерней, проблема заключается в выборе последнего использованного порядкового номеране найден в качестве допустимого внешнего ключа для дочерней вставки, что означает, что родитель еще не вставлен.
Я хотел бы спросить, возможно ли это
@Entity
@Table(name="parent")
Parent{
---parent properties
List<Child> children;
---getters/setters
}
@Entity
@Table(name="child")
Child{
---childproperties
---getters/setters
}
StoredProcedureQuery sp = entityManager
.createStoredProcedureQuery("PARENT_PROC");
sp.registerStoredProcedureParameter("PARENT", Parent.class, ParameterMode.IN);
и для SP
CREATE or REPLACE PROCEDURE PARENT_PROC(
PARENT IN Parent.class
)
, где я могу выполнить цикл и вставить PARENT.children
Я ожидаю вставить, например, 1 родителя и в зависимости от того, сколько у него дочерних элементов.
То же самое происходит, когда вы вставляете с помощью функции entityManager.persist ().