2013-02-09 60 views
0
@Entity 
public class Group 
{ 
    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private Key id; 
} 


@Entity 
public class User 
{ 
    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private Key id; 

    @ManyToOne(fetch = FetchType.LAZY) 
    private Group group; 
} 

下面的代碼後:

EntityManager entityManager = EntityManagerFactoryHolder.getEntityManagerFactory().createEntityManager(); 
Group group = new Group(); 
entityManager.persist(group); 
User user = new User(); 
user.setGroup(group); 
entityManager.persist(user); 
entityManager.close(); 

我收到以下錯誤

檢測到的嘗試,建立用戶(28)作爲組(27)的母公司,但是 由組(27)識別的實體已經被保留而沒有 父母。一旦對象 已被保留,則無法建立或更改父級。 org.datanucleus.store.appengine.DatastoreRelationFieldManager $ ChildWithoutParentException: 檢測到嘗試建立用戶(28)作爲組(27)的母公司但是 由組(27)標識的實體已被持續保留,但父母沒有 。一旦對象 已被保留,則無法建立或更改父級。

回答

0

似乎這隻適用於反向關聯。添加@OneToMany設置爲組對象,現在可以工作。