Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 实体积垢与OneToMany和孤儿清除_Java_Hibernate_Spring_Jpa_Crud - Fatal编程技术网

Java 实体积垢与OneToMany和孤儿清除

Java 实体积垢与OneToMany和孤儿清除,java,hibernate,spring,jpa,crud,Java,Hibernate,Spring,Jpa,Crud,我正在为web应用程序构建一些CRUD表单。我有一个实体,比如说Part,它有自己的字段(sku、price等)以及通过@OneToMany链接到其他实体的链接。我布置CRUD界面的方式是,零件数据点在一个表单上编辑,相关数据点在单独的表单中编辑(在不同的选项卡上) 当我提交零件表单时,它将发布零件ID、价格、sku等,但没有相关数据。当Spring进行数据绑定时,它将调用我的Part类上的无参数构造函数,然后调用setPrice、setId、setSku等。由于相关实体位于单独的表单上,因此不

我正在为web应用程序构建一些CRUD表单。我有一个实体,比如说Part,它有自己的字段(sku、price等)以及通过@OneToMany链接到其他实体的链接。我布置CRUD界面的方式是,零件数据点在一个表单上编辑,相关数据点在单独的表单中编辑(在不同的选项卡上)

当我提交零件表单时,它将发布零件ID、价格、sku等,但没有相关数据。当Spring进行数据绑定时,它将调用我的Part类上的无参数构造函数,然后调用setPrice、setId、setSku等。由于相关实体位于单独的表单上,因此不会发布任何内容。然后使用JPA合并Spring提供给我的part对象

问题是我在OneToMany关系上使用cascade=ALL,orphanRemoving=true。所有这些关系都将被删除,因为它们在数据绑定器生成的零件对象中为空。可能的解决办法:

  • 我可以让Spring以某种方式从JPA中提取部件,而不是调用no-arg构造函数吗
  • 获取数据绑定器生成的对象,并将所有零件属性复制到从数据库中提取的对象
  • 不要使用数据绑定;从servlet请求中提取参数
显然,第一个是最受欢迎的;有没有办法做到这一点?你是如何处理类似情况的