【发布时间】:2010-06-14 19:00:59
【问题描述】:
我有一个具有多对一关系的父表 A 和子表 B、C。
假设我有这样的数据,对于父表 A 中的主键 1,我在子表 B 中有 3 行,在子表 C 中有 4 行。
现在,如果我想在更新父表期间删除子表的行(这意味着现在,我只想用每个子表中的一行来更新表并删除其中的其他行)然后在休眠中如何处理这种情况?
更新
首先,很抱歉我的问题不清楚。以下是它的更多详细信息。
我有一个父表策略
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 更改为 06/15/2010 并且 PolicyRelationship 具有如下数据
POLICY_RELATIONSHIP_OID POLICY_ACTOR POLICY_ACTOR_TYPE POLICY_OID
null George Primary User 1234
hibernate有什么可能的方法,删除PolicyRelation表中已经存在的三行并插入一个新数据的新行。
如果我的问题仍然不清楚,请告诉我。
我的环境:
Java 1.6、Hibernate 3.5、JBoss。
【问题讨论】:
标签: hibernate