【发布时间】:2016-04-22 05:59:02
【问题描述】:
我有两个具有 OneToMany 关系的表
类服务提供者{
...
@OneToMany(fetch=FetchType.EAGER,mappedBy="serviceProvider", 级联={CascadeType.ALL,CascadeType.REMOVE},orphanRemoval = true) @OnDelete(action=OnDeleteAction.CASCADE) 私有 列出服务中心; ...
}
类 ServiceCenterDetails {
... //双向多对一关联到 ServiceProviderDomainMap @ManyToOne @JoinColumn(name="SERVICE_PROVIDER_ID") 私有服务提供者 服务提供者;
...
}
我正在尝试删除提供行。但我得到以下错误:
引起:com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:无法删除或更新父行:外键约束失败(fixoline.service_center_details,CONSTRAINT FK_qvahoxeovx9vmwl6mcu2c0lyw FOREIGN KEY(SERVICE_PROVIDER_ID ) 参考service_provider (ID))
下面是我正在尝试的方式
String hql = "DELETE FROM ServiceProvider WHERE id = :providerId"; Query query = sessionFactory.getCurrentSession().createQuery(hql); query.setParameter("providerId",providerId); int result = query.executeUpdate();
有人可以帮忙解决吗?
【问题讨论】: