【发布时间】:2015-01-04 17:02:47
【问题描述】:
我的实体喜欢..
@Entity
public class parent{
@id
private string id;
private string name;
@OneToMAny
List<Child> children = new ArrayList<Child>();
//getters n setters
}
保存父母后,如果我想添加孩子,那么我需要这样做
Parent parent = parentRepository.findOne(parentId);
if(parent != null){
parent.getChildren().add(new Child("Id","name"));
}
如我们所见,我需要先通过 parent.getChildren() 获取所有子项,然后添加一个新的,假设我在子表中有批量记录,这是添加子项的适当方式吗? 有什么好的方法可以添加新的孩子。 我不能使用 oneToMAny mapped By here,因为还有一些实体与子列表拥有相同的子实体(Child),所以我不能通过添加外键列来修改我的子实体,我只能使用 joinTable。我正在使用 jpa+Spring+Hibernate
【问题讨论】:
-
您无法添加外键这一事实并不能阻止您进行双向关联。您只需使用
@JoinTable对其进行映射,告诉 JPA 您需要一个连接表而不是连接列。 -
感谢您的评论,我不知道我们也可以在 ManyToOne 端指定 JoinTable。
标签: hibernate jpa spring-data