JPA查询实体未映射错误

mt.*_*ulu 4 java jpa hql jpql

测试未通过以下代码.调试显示错误是在创建查询时.

java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: Catalog is not mapped [SELECT c FROM Catalog c WHERE c.name = :name]
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1347)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1288)
Run Code Online (Sandbox Code Playgroud)

实体类:

@Entity
@Table(name = "eb_catalog", uniqueConstraints=@UniqueConstraint(columnNames="name"))
public class Catalog implements ICatalog, Serializable {
Run Code Online (Sandbox Code Playgroud)

和查询本身:

TypedQuery<Catalog> query = em.createQuery(
"SELECT c FROM Catalog c WHERE c.name = :name", Catalog.class)
.setParameter("name", catName);
Run Code Online (Sandbox Code Playgroud)

CTRL +单击Catalog打开实体,因此名称与查询中的实体匹配.

提前致谢.

小智 9

您可能忘记了将实体类映射到persistence.xml.看一看 :)