我最近F-ed了我的JPA entites,我正在拼命想要恢复这个功能。在我的实体中添加一些默认查询后,我无法在会话bean中调用它们......我得到了这个异常
There is no query with the name "" defined for any of the known persistent classes:
虽然所述命名查询确实存在,但它只是对持久性类(或实体bean)的注释。我是否需要将其添加到ORM.xml文件中?我似乎记得您可以对ORM.xml文件进行注释,或者您可以直接注释实体bean。我在这里错过了一步吗?
感谢。
更新: 实际命名查询:
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 :(得分:-1)
谢谢你们。我是个白痴,没有建立我的项目。