こんにちは、私は、Googleのアプリケーションエンジンのための新しい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は、複数の親キープロバイダのフィールドに
をサポートしていないので、誰もが複数の親を使用せずに友人のシステムをモデル化するためにどのように他のアイデアを持っているんキー?
誰かが助けてくれることを願っています!
驚いたことに、GAPはbigtableで動作しますが、JPAをサポートしています。 –
私はそれが知っているが、テーブルに結合を使用することはできません。したがって、モデルを再考する必要があります。 –
ええ、私はこのことを知っています。私は永続性についての非常に多くの経験を持っていません。だから、私はこのモデルに近づける方法を考えています。 –