У меня есть родительская таблица A и дочерние таблицы B, C с отношениями "многие к одному".
Допустим, у меня есть данные, например, для первичного ключа 1 в родительской таблице A У меня есть 3 строки в дочерней таблице B и 4 строки в дочерней таблице C.
Теперь, если я хочу удалить строки дочерней таблицы во время обновления родительской таблицы (это означает, что теперь я хочу обновить таблицу только с одной строкой в каждой дочерней таблице и удалить другие строки в них), тогда как справиться с этим сценарием в спящем режиме?
Обновление
Во-первых, извините, что мой вопрос был неясным. Вот более подробная информация об этом.
У меня есть родительская таблица Policy
CREATE TABLE "DEV2"."POLICY" ( "POLICY_OID" NUMBER(38,0) NOT NULL ENABLE, "CREATED_DATE" TIMESTAMP (0) NOT NULL ENABLE, "EFFECTIVE_DATE" TIMESTAMP (0), "UPDATED_DATE" TIMESTAMP (0), "STATUS" VARCHAR2(32 BYTE), CONSTRAINT "PK128" PRIMARY KEY ("POLICY_OID") , CONSTRAINT "REFPOLICY_CLASS290" FOREIGN KEY ("POLICY_CLASS") REFERENCES "DEV2"."POLICY_CLASS" ("POLICY_CLASS_REF") ENABLE )
и отношение @OneToMany к дочерней таблице POLICY_RELATIONSHIP
CREATE TABLE "DEV2"."POLICY_RELATIONSHIP" ( "POLICY_RELATIONSHIP_OID" NUMBER(38,0) NOT NULL ENABLE, "POLICY_ACTOR" NUMBER(38,0) NOT NULL ENABLE, "POLICY_ACTOR_TYPE" VARCHAR2(32 BYTE) NOT NULL ENABLE, "POLICY_OID" NUMBER(38,0) NOT NULL ENABLE, CONSTRAINT "PK156" PRIMARY KEY ("POLICY_RELATIONSHIP_OID") , CONSTRAINT "REFPOLICY338" FOREIGN KEY ("POLICY_OID") REFERENCES "DEV2"."POLICY" ("POLICY_OID") ENABLE)
Например, у меня есть пример данных примерно так.
POLICY_OID CREATED_DATE EFFECTIVE_DATE STATUS UPDATED_DATE
1234 06/14/2020 06/14/2010 active 06/14/2010
POLICY_RELATIONSHIP_OID POLICY_ACTOR POLICY_ACTOR_TYPE POLICY_OID
98765 John Primary User 1234
98766 Bill Secondary User 1234
98767 Mary Intermediate User 1234
Если я пытаюсь сохранить объект политики 1234 и UPDATED_DATE изменяется на 15.06.2010, а у PolicyRelationship есть данные, подобные приведенным ниже
POLICY_RELATIONSHIP_OID POLICY_ACTOR POLICY_ACTOR_TYPE POLICY_OID
null George Primary User 1234
Есть ли какой-либо возможный способ в спящем режиме удалить три строки, которые уже существуют в таблице PolicyRelation, и вставить новую строку с новыми данными.
Пожалуйста, дайте мне знать, если моя проблема все еще неясна.
Мое окружение:
Java 1.6, Hibernate 3.5, JBoss.