Hibernate OneToMany创建许多记录

时间:2018-07-10 15:27:27

标签: java hibernate jpa

我有两个对象Input和IndisponibleSegment,它们之间的关系是一对多的:

lazy val myutil = project
lazy val myapi = project.dependsOn(myutil)
lazy val myapp = project.dependsOn(myapi)

并且:

lazy val myapp = project.dependsOn(myapi, myutil)

我的问题是每次都运行如下代码:

@Entity  
@Table(name= "input")   
    public class Input {

    private long _id;   
    private String _name;
    private Set<IndisponibleSegment> _indisponibleSegments;

    @Column(name = "name", unique = true, nullable = false, length = 25)
    public String getName() {
      return _name;
    }

    public void setName(String inName) {
      this._name = inName;
    }


  @Id
  @GeneratedValue(strategy = IDENTITY)
  @Column(name = "id", unique = true, nullable = false)
  public long getId() {
    return _id;
  }
  public void setId(long inId) {
    this._id = inId;
  }

  @OneToMany(fetch = FetchType.EAGER, mappedBy = "input", cascade =  CascadeType.ALL, orphanRemoval = true)
  public Set<IndisponibleSegment> getIndisponibleSegments() {
    return _indisponibleSegments;
  }

  public void setIndisponibleSegments(Set<IndisponibleSegment> inIndisponibleSegments) {
    this._indisponibleSegments = inIndisponibleSegments;
  }

}

我在indisponible_segments表中获得了一个新条目,并且旧条目没有被删除,因此仍然存在。

我尝试了所有我能想到的组合:级联,删除孤儿,唯一的constranits ...全部。我究竟做错了什么?我想要的是,如果我设置一个新的indisponibleSegments,则旧的将被删除。

0 个答案:

没有答案