【发布时间】:2010-10-20 19:53:48
【问题描述】:
您好,我正在尝试为谷歌应用引擎提供新的 Java 支持,并且我正在尝试为我的所有对象创建一个持久层。我正在尝试建立朋友关系模型,但遇到了问题。我使用 JPA 来持久化对象并使用 JPA 注释定义我的持久性对象。
我的想法是做以下事情:
用户对象:
@Entity
public class User {
@Column(name="user_id")
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Extension(vendorName="datanucleus", key="gae.encoded-pk", value="true")
private String id;
@OneToMany(cascade={CascadeType.ALL},mappedBy="invitee")
private List<Connection> IncConnections;
@OneToMany(cascade={CascadeType.ALL},mappedBy="initiator")
private List<Connection> OutConnections;
}
.
@Entity
public class Connection {
@Column(name="connection_id")
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Extension(vendorName="datanucleus", key="gae.encoded-pk", value="true")
private String id;
@ManyToOne(cascade={CascadeType.ALL})
User initiator;
@ManyToOne(cascade={CascadeType.ALL})
User invitee;
}
但是当我尝试这个时,我得到了错误: App Engine ORM 不支持多个父键提供者字段
那么有没有人知道如何在不使用多个父键的情况下对朋友系统建模?
希望有人能帮忙!
【问题讨论】:
标签: java google-app-engine jpa persistence