答案 0 :(得分:0)
也许使用单向一对多关系映射。
希望这会有所帮助。 RG
@Entity
@Table(name="OBJECT")
public class MyObject
{
@Id
@Column(name="OBJECT_ID")
private int id;
@Column(name="FIELD_NAME")
private String fieldName;
@OneToMany
@JoinTable(name="OBJECT_FORM",
joinColumns=@JoinColumn(name="OBJECT_ID"),
inverseJoinColumns=@JoinColumn(name="FORM_ID"))
private Collection<MyObjectField> objectFields;
...
}
@Entity
@Table(name="OBJECT_FIELDS")
public class MyObjectField
{
@Id
@Column(name="FORM_ID")
private int id;
@Column(name="FIELD_DESC")
private String fieldDescription;
...
}
答案 1 :(得分:0)
这有点违反直觉,但这可能最好使用@ManyToMany
映射进行映射。
请考虑您的表格结构适应给定form_id
与多个object_id
相关联的情况,反之亦然。即使您的业务逻辑禁止这样做,这也是关系的模型。
查看this article和this code sample如何执行此操作。由于你没有告诉我们你的班级模型,所以很难给出具体的例子。