我映射器--- < FilterColumn其中篩選呈現基數之一,FilterColumn N.因此,映射類是:JPA一對多和多對一與複合鍵生成第三個表
@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(name,filter_name)
爲什麼我會收到此結果?我的映射有問題嗎?我應該改變什麼?
在此先感謝。