2
假设我有三张表格(患者医生和药物)。 “患者”表具有引用医生表中的列的FK约束,并且类似地,“药品”表具有引用“患者”表中的列的FK cnstraint。现在,当我尝试使用删除JPA中的一行(FK)
//Delete From Patient Table
javax.persistence.Query query = manager.createQuery("DELETE From PatientEnroll e WHERE e.no =:arg1");
int val = Integer.parseInt(no);
query.setParameter("arg1", val);
query.executeUpdate();
我收到以下错误,从患者到删除:
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`acme`.`medicines`, CONSTRAINT `PatientNo` FOREIGN KEY (`PatientNo`) REFERENCES `Patients` (`PatientNo`) ON DELETE NO ACTION ON UPDATE NO ACTION)
如何删除从患者桌上的东西?
患者P = getPatientByNumber(args1); em.remove(p);给出同样的错误。由于药物表中的内容引用患者行 – Murphy316 2012-07-27 16:39:49
您是否阅读过答案?您需要在OneToMany关联上使用类似REMOVE的级联(而不是像我第一次写的那样删除),才能使其工作。 – 2012-07-27 16:56:13
谢谢..我错过了那部分 – Murphy316 2012-07-27 17:04:04