问个SSH多表操作的问题

开源首席 发布于 2012/10/20 10:54
阅读 541
收藏 0
我在主表A 增加数据,B子表也要跟着增加相应的数据,子表B也有外键关系 ,关联C表,用SSH做,不知道该如何做,这问题困扰了许久,昨晚3点睡觉都没搞定,好失望,希望你能帮助下我。谢谢了!

关系是:A-->B是一对多关系, C-->B也是一对多关系。

表结构:

A:主表
create table A   
(
  A_ID  NUMBER  not null,
  A_NAME VARCHAR2(20) not null,
  A_PASSWORD  VARCHAR2(20) not null,
  A_STATUS    NUMBER(6) not null,   
  A_VERSION   NUMBER(10) not null    
);


B 表:子表
create table B
(
  B_ID      NUMBER(10) not null,  
  C_ID      NUMBER(10) not null,   --关联[color=#FF0000] C[/color] 的外键字段
 
  A_ID NUMBER  not null    --关联 [color=#FF0000]A[/color] 的外键字段
);

C 表:主表  
create table  C
(
 C_ID    NUMBER(10) not null,   
  C_TITLE VARCHAR2(200) not null,
  C_TYPE  NUMBER(6) not null   
);


加载中
0
CCNU
CCNU
/**按照你的意思,新加A的时候也要新加B,那个C应该是添A的时候有选择吧*/
public void saveA(A a,int c_id){
    saveObj(a);
    B b=new B();
    b.setAId(a.getAId());
    b.setCId(c_id);
    saveObj(b)
}
CCNU
CCNU
回复 @MR_xing : 那你那个C总有个来路吧,还说C也是A生成时添加的?反正就是找到要引用的c_id赋给B就行了
开源首席
在添加A时C时没选择的,挺纠结的
0
开源首席
没人么?  悲剧了
0
开源首席
自己顶!!!!
0
CCNU
CCNU
个人觉得hibernate的表关联很坑爹的,我一般都是自己控制表关系的
开源首席
没办法啊 ,我这就要这样做 ,给点思路吧
返回顶部
顶部