Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine googleappengine中的JPA一对多关系_Google App Engine_Jpa - Fatal编程技术网

Google app engine googleappengine中的JPA一对多关系

Google app engine googleappengine中的JPA一对多关系,google-app-engine,jpa,Google App Engine,Jpa,我有一对多关系(个人资料到消息)。我试图保存某个用户/配置文件拥有的邮件。下面的代码有什么问题 public Message createMessage(Message msg, String recepient) { EntityManager em = EMF.get().createEntityManager(); UserAccess access = new UserAccess(); Profile user = access.searchUser(recep

我有一对多关系(个人资料到消息)。我试图保存某个用户/配置文件拥有的邮件。下面的代码有什么问题

public Message createMessage(Message msg, String recepient) {
    EntityManager em = EMF.get().createEntityManager();
    UserAccess access = new UserAccess();
    Profile user = access.searchUser(recepient);
    msg.setUser(user);

    em.getTransaction().begin();

    em.persist(msg);

    em.getTransaction().commit();
    em.close();
    return msg;
}
搜索用户方法

public Profile searchUser(String displayName){
    EntityManager em = EMF.get().createEntityManager();
    Profile user;
    try{
        Query q = em.createNamedQuery("Profile.searchByDisplayName");
        q.setParameter("displayName", displayName);
        user = (Profile) q.getSingleResult();
    } catch(javax.persistence.NoResultException e){
        user = null;
    }
    em.close();
    return user;
}
我遇到以下错误:

java.lang.IllegalStateException: Primary key for object of type Profile is null.

这可能是因为您的概要文件实体中没有定义“Id”(主键)吗?或在创建特定配置文件时未设置为任何值

此外,检查配置文件和消息实体之间的关系是否定义正确


那么从命名查询返回的对象处于什么对象状态?还是一个空对象?显然,日志告诉你什么是happening@JR加利亚:这是一个很小的请求,如果你在这里简单地告诉别人这个问题是什么以及你是如何解决的,这将对其他人有所帮助。