私はこれらの問題をたくさん見つけましたが、何らかの理由でそれらは私のために機能しません。だから、私は明らかに何か間違ったことをしている。
フォームオブジェクト:
@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>
フォーム内にフォームフィールドオブジェクトを作成しても問題ありません。両方のオブジェクトが作成されます。フォームオブジェクトを削除すると、フォームフィールドオブジェクトはデータベースに残ります。