2012-04-09 84 views
0

我最近对我的JPA实体进行了F编辑,并且我正在拼命地将该功能恢复。加入一些默认查询到我的我的实体,我不能叫他们在我的会话bean后...虽然说命名查询它存在只是一个注解的持久性我得到这个例外我是否需要在ORM.xml文件中放入命名查询

There is no query with the name "" defined for any of the known persistent classes: 

类(或实体bean)。我需要将其添加到ORM.xml文件吗?我似乎记得您可以对ORM.xml文件进行注释,或者您可以直接注释实体bean。我错过了一步吗?

感谢。

UPDATE: 实际命名查询:

import javax.persistence.Table; 
import javax.persistence.NamedQuery; 
import javax.persistence.NamedQueries; 

@Entity 
@Table(name="EMAIL_DOMAIN_TRUST") 
@NamedQueries({ 
@NamedQuery(name="getEmailDomainTrust", query = "SELECT e FROM EmailDomainTrust e"), 
    ... 
}) 

这里就是我称之为我的无状态会话bean

public List<EmailDomainTrust> getEmailDomains() {  

    List listOfEmailDomains = null; 
    //try 
    //{ 
     System.out.println("Testing 1..2...3...!"); 
     listOfEmailDomains = emf.createNamedQuery("getEmailDomainTrust").getResultList(); 
     System.out.println(listOfEmailDomains.size()); 
    //} 
    //catch(Exception e) 
    //{ 
     //System.out.println("Sugar Cookies! This thing doesn't work");   
    //} 
    // while(it) 
    return listOfEmailDomains;  

}

不知道为什么它似乎无法找到它?我在Websphere集成开发人员btw工作。也许有些东西没有正确更新?

+0

请更新这篇文章更多有意义的信息。即:实际的异常文本,相关的实体/ orm片段。 – Rick 2012-04-09 14:00:27

+0

嘿,那里。我刚刚更新。 – SoftwareSavant 2012-04-09 14:51:55

+0

你是否在persistence.xml文件中列出了持久化类型?你的帖子中有错字吗? EntityManagerFactory(emf)没有createNamedQuery(...)方法(或者我可能会跳到结论)。 – Rick 2012-04-09 16:22:05

回答

-1

谢谢你们。我是一个白痴,并没有建立我的项目。