Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 删除实体与更新关系_Google App Engine_Jpa - Fatal编程技术网

Google app engine 删除实体与更新关系

Google app engine 删除实体与更新关系,google-app-engine,jpa,Google App Engine,Jpa,我有一个要在Google App Engine上部署的应用程序,我有下面定义的实体关系(简化) ,或者我必须手动更新关系的双方,方法是更新联盟的团队列表并删除该团队,然后为该团队将联盟设置为null 属于同一实体组的实体在物理上存储在一起,因此您只需删除子实体(团队),联盟实体将在数据存储中受到影响 从纯java的角度来看,如果您有一个联盟对象实例引用了您在数据存储中刚刚删除的团队,那么您可能需要“刷新”该对象。同一实体组是什么意思?GAE数据存储将您的JPA实体及其拥有的“关系”作为实体组持久

我有一个要在Google App Engine上部署的应用程序,我有下面定义的实体关系(简化)


,或者我必须手动更新关系的双方,方法是更新联盟的团队列表并删除该团队,然后为该团队将联盟设置为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);