Google app engine 删除实体与更新关系
我有一个要在Google App Engine上部署的应用程序,我有下面定义的实体关系(简化)Google app engine 删除实体与更新关系,google-app-engine,jpa,Google App Engine,Jpa,我有一个要在Google App Engine上部署的应用程序,我有下面定义的实体关系(简化) ,或者我必须手动更新关系的双方,方法是更新联盟的团队列表并删除该团队,然后为该团队将联盟设置为null 属于同一实体组的实体在物理上存储在一起,因此您只需删除子实体(团队),联盟实体将在数据存储中受到影响 从纯java的角度来看,如果您有一个联盟对象实例引用了您在数据存储中刚刚删除的团队,那么您可能需要“刷新”该对象。同一实体组是什么意思?GAE数据存储将您的JPA实体及其拥有的“关系”作为实体组持久
,或者我必须手动更新关系的双方,方法是更新联盟的团队列表并删除该团队,然后为该团队将联盟设置为null 属于同一实体组的实体在物理上存储在一起,因此您只需删除子实体(团队),联盟实体将在数据存储中受到影响
从纯java的角度来看,如果您有一个联盟对象实例引用了您在数据存储中刚刚删除的团队,那么您可能需要“刷新”该对象。同一实体组是什么意思?GAE数据存储将您的JPA实体及其拥有的“关系”作为实体组持久化。层次结构的顶部对象(此处:
League
)称为根实体,在OneToMany
集合(此处:Team
)中引用的每个对象都是子实体。可以把它看作一个树数据结构。好的,删除只起作用,因为它部署在GAE上,对吗?如果使用Hibernates实现,是否需要手动更新关系的双方?
public class League {
@OneToMany(mappedBy="league")
private List<Team> teams;
}
public class Team {
@ManyToOne
private League league;
}
Team teamToDelete = em.find(Team.class, teamId);
em.remove(teamToDelete);