2013-02-09 81 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设置为组对象,现在可以工作。