我有下面的代碼:使用它首先創建,堅持ServiceRequest,然後創建一個事件,並添加到它現有的ServiceRequest的DataNucleus將谷歌App Engine的一個一對多的關係
@Entity
public class Incident {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Extension(vendorName="datanucleus", key="gae.encoded-pk", value="true")
private String incidentId;
@Persistent
@Extension(vendorName="datanucleus", key="gae.pk-id", value="true")
private Long keyId;
@OneToMany(mappedBy="incident")
@OrderBy("requestId")
@JoinColumn(name="INCIDENT_ID")
public List<ServiceRequest> requests;
...
}
@Entity
public class ServiceRequest {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Extension(vendorName="datanucleus", key="gae.encoded-pk", value="true")
private String requestId;
@Persistent
@Extension(vendorName="datanucleus", key="gae.pk-id", value="true")
private Long keyId;
private Incident incident;
...
}
方案 - 但當我試圖堅持一個事件我有以下的錯誤造成 :org.datanucleus.exceptions.NucleusUserException:ID爲「agxzbWFydGNpdHlhZ2hyFAsSDlNlcnZpY2VSZXF1ZXN0GAEM」對象是由不同的對象管理器管理
而「現有的服務請求」是由不同的EntityManager,您可以輕鬆地通過使用在EM方法,看看它是管理檢查管理。如果分離,它不被任何東西管理 – DataNucleus 2012-07-31 14:00:30
因此,不可能將現有的(已經存在的)對象添加到新的對象中?或者,也許我可以以某種方式將其附加到我的事件? – Eyck 2012-07-31 14:06:04
當然有可能......當它由同一個EntityManager管理時(就像JPA規範所說的那樣)。你沒有給出任何信息,你從 – DataNucleus 2012-07-31 14:14:42