如何在休眠中检索关联数据

时间:2013-05-31 01:14:12

标签: hibernate cascading-deletes

我有问题。我有一个拥有子数据的域名。我可以通过使用Cascade删除轻松删除它,但我的老师说我不能级联它。我的计划是当数据有关联时我将检索关联并将其显示给用户。到目前为止,我所拥有的是使用try catch捕获它,我可以在eclipse控制台上显示它。显示是:

java.sql.BatchUpdateException: Cannot delete or update a parent row: a foreign key constraint fails ( {EPS {1}} {EMPLOYEE_EMPLOYER {1}} {FK_EMPLOYEE_EMPLOYER_EMPLOYEE {1}} {EMPLOYEE_ID {1}} {EMPLOYEE {1}} {EMPLOYEE_ID {1}}

由于它抛出了ajax错误,我做了一个警告.。我希望更具体。

然后我不知道接下来该做什么。我想检索所有相关数据并显示它。请帮忙。

1 个答案:

答案 0 :(得分:3)

我不太了解你的“解决方案”。您正在谈论删除具有其所有子实体的实体。检索数据并向用户显示与它无关。

首先,我不确定为什么你的“老师”告诉你不要级联。这是使用级联的完美有效和适当的情况。考虑使用delete-orphan,它会删除子实体。

如果你真的不想做级联。您需要做的是手动执行级联:如果您需要删除实体,首先获取其所有子级,首先删除子级(可以考虑在此处刷新),然后删除实体本身。事实上与Hibernate关系不大。这是您在使用DB时遇到的正常问题。

相关问题