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