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呀。
|