GAE无与伦比的JPA关系

时间:2009-07-30 13:33:03

标签: java google-app-engine jpa

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

@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后,两个字段 firstB firstA 都为空。

知道我做错了什么?

1 个答案:

答案 0 :(得分:1)

Key个对象默认不会保留,因此需要显式注释,这就是您看到null值的原因。

尝试将firstBsecondB注释为@Enumerated(这应该是@Basic但是there 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。