0

当用户按下按钮时,我有以下查询来删除表中的项目

  String hqery = "DELETE FROM Person WHERE automobile = " selected_id;
  Query q = hbsession.createQuery(hquery);
  q.executeUpdate();

Person 类中的变量是:

int id;
String name;
int age;
Cars automobile;

Cars 类中的变量是:

int id;
String Manufacturer
String Model;
int Year;

问题是汽车是 Bean 类 Cars 的一个实例,如何使用查询删除一个类,或者如何访问汽车的 ID 以便删除它。我想这样做的原因是因为当我从汽车表中删除汽车时,我还需要删除其他表中汽车的所有实例。

4

1 回答 1

2

我想这样做的原因是因为当我从汽车表中删除汽车时,我还需要删除其他表中汽车的所有实例。

您需要使用 set 在数据库中创建外键ON DELETE CASCADE,或者对依赖对象使用 Hibernate 的孤儿删除功能。

我建议使用组合。在数据库中创建FOREIGN KEY引用,但将它们设置为ON DELETE RESTRICT. 然后通过孤儿删除等管理 Hibernate 中的关系。数据库检查将确保如果您在 Hibernate 级别遗漏某些内容,您将不会在数据库中出现不一致的数据;相反,当您运行查询或尝试提交时,您会收到数据库错误。

看:

于 2013-07-19T01:21:40.917 回答