Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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 Hibernate插入具有OnOneToMany关系的重复父项_Java_Hibernate_Jpa_Duplicates - Fatal编程技术网

Java Hibernate插入具有OnOneToMany关系的重复父项

Java Hibernate插入具有OnOneToMany关系的重复父项,java,hibernate,jpa,duplicates,Java,Hibernate,Jpa,Duplicates,我有两个类,上传和过滤。Upload是“父级”,可以有n个筛选器,但一个筛选器只能属于一个上载。-->独身癖 当调用我的RESTAPI时,它会创建一个带有空过滤器列表的上载。 保存后,它会创建两个上传条目,它们的主键不同,但值相同,没有明显的原因 这是非常令人沮丧的,因为我没有关键字,我可以扔在这个愚蠢的框架,使其工作 这里可能有什么问题 持续存在的代码: session.getTransaction().begin(); Upload upload = new Upload(); upload

我有两个类,上传和过滤。Upload是“父级”,可以有n个筛选器,但一个筛选器只能属于一个上载。-->独身癖

当调用我的RESTAPI时,它会创建一个带有空过滤器列表的上载。 保存后,它会创建两个上传条目,它们的主键不同,但值相同,没有明显的原因

这是非常令人沮丧的,因为我没有关键字,我可以扔在这个愚蠢的框架,使其工作

这里可能有什么问题

持续存在的代码:

session.getTransaction().begin();
Upload upload = new Upload();
upload.setFiltering(new ArrayList<Filter>()); //empty list
session.save(upload);
session.getTransaction().commit();
@Entity
@Table(name = "upload")
public class Upload {
    @OneToMany(mappedBy = "upload", fetch = FetchType.EAGER)
    private java.util.List<Filter> filtering;
    @Id
    @GeneratedValue
    private Integer id;

只需一句话:
upload.setFiltering(newarraylist())
不会更改任何内容,因为
上传
-
过滤
关系在
过滤
侧配置(由于
上传
侧的
映射比
属性),请尝试更改过滤设置;您还可以尝试将cascade={CascadeType.PERSIST,CascadeType.MERGE}添加到manytone和OnetoMany注释中。
@Entity
@Table(name = "filter")
public class Filter {
    @Id
    @GeneratedValue
    private Long id;
    @ManyToOne
    @JoinColumn(name = "upload_id")
    private Upload upload;