我正在为Web应用程序构建一些CRUD表单。我有一个实体,比方说Part,它有自己的字段(sku,价格等)以及通过@OneToMany到其他实体的链接。我布置CRUD界面的方式是在一个表单上编辑零件数据点,并以单独的形式(在不同的选项卡上)编辑相关的数据点。
当我提交零件表格时,它会发布零件ID,价格,sku等,但没有相关数据。当Spring执行数据绑定时,它将调用我的Part类上的无参数构造函数,然后调用setPrice,setId,setSku等。相关实体没有发布任何内容,因为它们位于单独的表单上。 Spring提供给我的part对象然后使用JPA合并。
问题是我在OneToMany关系上使用cascade = ALL,orphanRemoval = true。删除所有这些关系,因为它们在数据绑定器生成的零件对象中是空白的。可能的解决方案:
显然第一个是最优选的;有没有办法实现这一目标?你是如何处理类似情况的?