マッピングされたクラスがあるのでフィルターカーディナリティ1とFilterColumn N.を提示< FilterColumnを第三のテーブルを生成している:JPA OneToManyとManyToOneは---私はフィルターをマッピングしてい
@Entity
public class Filter implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private String name;
private String caption;
@OneToMany(cascade = CascadeType.MERGE, targetEntity = FilterColumn.class)
private Set<FilterColumn> columns;
// setters and getters
}
@Entity
public class FilterColumn implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
private FilterColumnId id;
private String caption;
// getters and setters
@Embeddable
public static class FilterColumnId implements Serializable {
private static final long serialVersionUID = 1L;
@ManyToOne
private Filter filter;
@Column
private String name;
// getters and setters
}
}
しかし、私は、ドロップ作成命令でアプリケーションを起動するときは、次の3つのテーブルが作成されます。私は本当に欲しい フィルターPK(名) FilterColumn PK(FILTER_NAME、名) Filter_FilterColumn PK(filter_filter_name、filterColumn_filter_name、filterColumn_name)
です フィルタPK(名前) Filter_Column PK(名前、フィルタ名)
なぜこの結果が表示されますか?マッピングに何か問題がありますか?私は何を変えるべきですか?
ありがとうございます。