Google App Engineプロジェクトでデータを保持するのに苦労しています。クラスは「顧客」、「予約」、「部屋」です。
私たちの目標は、顧客から予約への1対多の関係と、部屋から同じ予約への1対多の関係を使用して、これらの間の関係をマッピングすることです。
例外は次のとおりです。
no.hib.mod250.asm2.model.Reservation.idのメタデータのエラー:java.lang.Long主キーを持ち、子オブジェクトにすることはできません(所有フィールドはno.hib.mod250.asm2.model.Customerです) .res)。
コードは次のとおりです。
Customer.java
@PersistenceCapable(identityType=IdentityType.APPLICATION)
public class Customer implements Serializable {
@PrimaryKey
@Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)
private Long id;
(...)
//an customer has one or more reservations.
@Persistent(mappedBy="customer")
private List <Reservation> res;
(...)
}
Room.java
@PersistenceCapable(identityType=IdentityType.APPLICATION)
public class Room implements Serializable {
@PrimaryKey
@Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)
private Long id;
(...)
//a room has one or more reservations
@Persistent(mappedBy="room")
private List<Reservation> res;
@Persistent
private Hotel hotel;
(...)
}
Reservation.java
@PersistenceCapable(identityType=IdentityType.APPLICATION)
public class Reservation implements Serializable {
@PrimaryKey
@Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)
private Long id;
(...)
@Persistent
private Room room;
@Persistent
private Customer customer;
(...)
}