【问题标题】:Objectify - can subclasses of the same entity have the same id?Objectify - 同一实体的子类可以具有相同的 id 吗?
【发布时间】:2015-07-04 11:37:57
【问题描述】:

说我有这些课程

@Entity 
class Animal { @Id Long id; }

@Subclass
class Dog extends Animal {}

@Subclass 
class Cat extends Animal {}

我可以确定 Dog 的 id 和 Cat 的 id 之间没有重叠吗?换句话说,给定一个 Dog 的 id,这样做是否安全:

ofy().load().type(Animal.class).id(idOfADog)

【问题讨论】:

    标签: java google-app-engine objectify


    【解决方案1】:

    TL;DR:是的。

    所有@Subclasses 都以与声明的@Entity 相同的“种类”存储。也就是说,就 GAE 而言,您所有的狗和猫都是动物。子类上有一个额外的鉴别器属性,它告诉 Objectify 实例化正确的子类,但这不会影响对象标识(它不是键的一部分)。

    【讨论】:

      猜你喜欢
      • 2016-04-26
      • 2018-12-31
      • 1970-01-01
      • 2013-01-30
      • 1970-01-01
      • 1970-01-01
      • 2016-02-15
      • 2013-03-03
      • 2019-04-01
      相关资源
      最近更新 更多