リンク先のリンクは、多対多のpojoの方法を示していますが、pojoメソッドを使用すると、リストに多すぎる場合にOutOfMemoryExceptionsが発生する可能性があります。そのため、カーソルも提供されます。あなたが私にくれたリンクの例を次のように変えましょう。
public class Student {
@NoSqlId
private String id;
private String firstName;
private String lastName;
@ManyToMany
private List<Course> courses = new ArrayList(); //constructing avoids nullpointers
}
public class Course {
@NoSqlId
private String id;
private String name;
private String description
@ManyToOne
private Lecturer lecturer;
@ManyToMany
private List<Student> students = new List<Student>();
}
* ToMany(OneToMany、ManyToMany)の場合、行自体に外部キーのリストを格納します。上記の例では、テーブルは2つだけです。行は次のようになります
studentrowkey -> firstName="dean", lastName="hiller", courses:courseFk56=null, courses:courseFk78=null, courses:courseFk98=null, etc. etc.
この方法ではなかったことに注意してください
studentrowkey -> firstName="dean", lastName="hiller", courses=courseFk56,courseFk78, courseFk98
前者を使用する理由は、列の操作が独立しているため、2つのサーバーが同じ学生で読み取った場合、1つのサーバーがcourseFk200を追加し、別のサーバーが学生からcourseFk56を削除して、両方のアクションが有効になるためです。代わりに後者の方法に従うと、サーバーの変更の1つが失われます。
後で、ディーン