我有以下实体。
Order{
@Id
private Long id;
@OneToMany(fetch=FetchType.LAZY)
@JoinColumn(name="order_id_fk", updatable = false)
private List<OrderRelease> orderReleases;
}
我的经理代码看起来像这样。创建方法有@Transactional
OrderResponse response = super.create(entry);
if(orderReleases !=null){
for(OrderReleaseEntry releaseEntry: orderReleases){
releaseEntry.setOrderId(response.getData().get(0).getId());
orderReleaseManager.create(releaseEntry);
}
}
这段代码在休眠 3.6.0.Final 中运行良好。但是当我迁移到休眠 4.2.2.Final 时,这开始抛出外键违规异常
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:无法添加或更新子行:外键约束失败(myntra_oms
. order_release
,CONSTRAINT FK36452816EEB04872
FOREIGN KEY(order_id_fk
)REFERENCES orders
(id
))
我使用spring进行事务管理,我有jpa和hibernate作为orm。