我發現了很多這些問題,但由於某些原因,他們不適合我。所以,我顯然做錯了什麼。無法刪除休眠中的孤兒兒
表單對象:
@Entity
@Table(name = "WEBFORMS_WEBFORM")
public class Form {
@Id
@GeneratedValue
@Column(name = "FORM_ID")
Long id;
@Column(name = "NAME")
String name;
@OrderBy("priority")
@OneToMany(mappedBy = "form", cascade={javax.persistence.CascadeType.ALL}, orphanRemoval = true)
Set<FormField> formFields;
@OrderBy("creationDate DESC")
@OneToMany(mappedBy = "form", cascade={javax.persistence.CascadeType.ALL}, orphanRemoval = true)
Set<FormResult> formResults;
@Column(name = "ALLOW_GUESTS")
Boolean allowGuest;
@Column(name = "SEND_MAIL")
Boolean sendMail;
表格字段對象:
@Entity
@Table(name = "WEBFORMS_FORM_FIELD")
public class FormField {
@Id
@GeneratedValue
@Column(name = "FORM_FIELD_ID")
Long id;
@Column(name = "TYPE")
String type;
@Column(name = "CONTENT")
String content;
@Column(name = "PRIORITY")
Long priority;
@ManyToOne()
@JoinColumn(name = "FORM_ID")
public Form form;
我用冬眠註釋:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-annotations</artifactId>
<version>3.5.6-Final</version>
</dependency>
如果我在表單中創建一個表單Field對象,那麼沒有問題。兩個對象都被創建。當我刪除表單對象時,表單字段對象保留在數據庫中。