2016-04-05 12 views
0

私のアプリケーションは、それぞれがTimerangeに割り当てられたRECostsを持続します。 timerangeはRealEstateに割り当てられます。私は再びそれを削除しようとすぐに、その後TIMERANGEを作成した場合Hibernate:子を削除すると親も削除したいですか?

、私はこの段階ではその時間範囲に接続されていないコストがないので、私は、それを理解していないjava.sql.SQLIntegrityConstraintViolationException: integrity constraint violation: foreign key no action; FK_OY1P238K3TRS850XETM1STE4P table: RECOST

を取得しています。 しかし、ログによると、hibernateはRealEstateも削除しようとしますが、これは望ましくありません。何故ですか?

ログ

22:31:50.428 [http-nio-8080-exec-3] DEBUG org.hibernate.SQL - delete from RETimerange where id=? 
Hibernate: delete from RETimerange where id=? 
22:31:50.429 [http-nio-8080-exec-3] DEBUG org.hibernate.SQL - delete from RealEstate where id=? 
Hibernate: delete from RealEstate where id=? 

ドメイン

@Entity 
public class RETimerange { 


    private int id; 


    private Date datefrom; 
    private Date dateto; 
    private RealEstate realestate; 
    private String comment; 

    @Id 
    @GeneratedValue 
    public int getId() { 
     return id; 
    } 
    public void setId(int id) { 
     this.id = id; 
    } 
    public Date getDatefrom() { 
     return datefrom; 
    } 
    public void setDatefrom(Date datefrom) { 
     this.datefrom = datefrom; 
    } 
    public Date getDateto() { 
     return dateto; 
    } 
    public void setDateto(Date dateto) { 
     this.dateto = dateto; 
    } 

    @ManyToOne(cascade = CascadeType.ALL, targetEntity = RealEstate.class, fetch=FetchType.EAGER) 
    @JoinColumn(name="fk_realestate") 
    public RealEstate getRealestate() { 
     return realestate; 
    } 

    public void setRealestate(RealEstate realestate) { 
     this.realestate = realestate; 
    } 
    public String getComment() { 
     return comment; 
    } 
    public void setComment(String comment) { 
     this.comment = comment; 
    } 

} 

答えて

0

関連そう

cascade = CascadeType.ALL 

を有し、remove()/delete()を含むすべての操作は、関連RealEstateにカスケード接続されています。

関連する問題