@Entity
public class Document {
@OneToMany(mappedBy="paper", cascade={CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH})
private Set<DocumentAuthor> authors;
}
@Entity
public class DocumentAuthor {
@Column(name="order")
@NotNull
private Integer order;
@ManyToOne(optional=true, cascade={CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH})
@JoinColumn(name="account", columnDefinition = "integer")
private Account account;
@ManyToOne(optional=false, cascade={CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH})
@JoinColumn(name="document", columnDefinition = "integer")
private Document document;
}
@Entity
public class Account {
@OneToMany(mappedBy="account", cascade={CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH})
private Set<DocumentAuthor> papers;
}
在我想要与beanfieldgroup一起使用的实体之上。如果我编辑/创建文档,我想添加一个或多个作者(帐户)并为这些作者设置订单。如何动态创建这些&#34; JoinTable&#34;与BeanFieldGroup?
答案 0 :(得分:1)
Viritin add-on包含许多方便的助手来编辑这种关系。最佳解决方案始终是特定于域的。如果要内联创建作者,可以使用ElementCollectionField(example)。如果您只是希望用户从现有的一组引用实体中进行选择,则可以使用MultiSelectTable(示例)或CheckBoxGroup。
Viritin中没有任何字段支持开箱即用,但至少添加简单的上下箭头应该相当容易。