当用户按下按钮
时,我有以下查询来删除表格中的项目 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类汽车的一个实例,如何使用查询删除类或如何访问汽车的ID以便我可以删除它。我想这样做的原因是因为当我从汽车表中删除汽车时,我还需要在其他表中删除汽车的所有实例。
答案 0 :(得分:2)
我想这样做的原因是因为当我从汽车表中删除汽车时,我还需要在其他表中删除汽车的所有实例。
您需要在设置了ON DELETE CASCADE
的数据库中创建外键,或者为依赖对象使用Hibernate的孤立删除功能。
我建议使用组合。在数据库中创建FOREIGN KEY
引用,但将它们设置为ON DELETE RESTRICT
。然后通过孤立删除管理Hibernate中的关系等。数据库检查将确保如果你在Hibernate级别错过某些东西,你将不会在数据库中找到不一致的数据;相反,当您运行查询或尝试提交时,您将收到数据库错误。
请参阅: