【问题标题】:GAE unowned JPA relationshipGAE 无主 JPA 关系
【发布时间】:2009-07-30 13:33:03
【问题描述】:

我的域模型中有一个无主关系

@Entity
public class A {
 @Id
 private String id;
 private Key firstB;
 private Key secondB;

 // getters & setters
}

@Entity
public class B {
 @Id
 private Key id;
 private String name;
 // getter & setter
}

KeyFactory.createKey(B.class.getSimpleName(), name) 是我为 B 类生成密钥的方式

我独立于 A 保存 B,并在某个时候将其分配给 A 的一个实例。问题是在保存 A 之后,两个字段 firstBfirstA 都是空的。

知道我做错了什么吗?

【问题讨论】:

标签: java google-app-engine jpa


【解决方案1】:

Key 对象默认情况下不会持久化,因此需要显式注释,这就是您看到 null 值的原因。

尝试将firstBsecondB 注释为@Enumerated(实际上应该是@Basicthere is a bug which prevents this from working):

@Entity
public class A {
    @Id
    private String id;

    @Enumerated
    private Key firstB; 

    @Enumerated
    private Key secondB;
}

更新:最新的 SDK 和 DataNucleus JAR 现在可以正确地允许使用 @Basic。

【讨论】:

  • 事实证明,使用最新的 SDK 和最新的 datanucleus jar,@Basic 也能正常工作。
猜你喜欢
  • 2011-02-28
  • 2014-03-14
  • 1970-01-01
  • 2016-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多