crazy了! 外键关联异常

Mrpublic 2009-09-21
有两个实体 A 与B
A 类 中没有与B类关联

但 B类中 却有

@Entity
public class B {

...
private A  a;

@ManyToOne(fetch = FetchType.LAZY)
public A getA() {
  return a;
}

public void setA(A a) {
this. = a;
}

...
}


現在有一個針對A实体进行增删改的页面


但我删除A中 怎么不让出现:違反整合性限制條件  - 發現子項記錄 错呀



在 delete A 方法中 加了  ConstraintViolationException 和EntityExistsException 不起作用


难道非要在删除A之前 先要在B类查找是否在用A 再山删除? 这样的话 那我有不止B类在用A类 还有CDEF个类在用A 那判断多麻烦呀 有没有其它办法呀?
andyhan 2009-10-13
建议你好好研究一下ORM的级联关系
Mrpublic 2009-10-14
謝謝你的提醒,但好像級关联对这个不起作用呀 我这个是单向关联呀 ?  你不知道 究竟有多少个其它类在用A类呀?
好像是不是在seam中有2种实体管理器哦 好像有一种可以捕获这种删除异常。。。
jwd001 2009-10-16
这是必定的,因为A类没有B的信息,它怎么知道还有B,以及CDEF呀。
Global site tag (gtag.js) - Google Analytics