4

次のコードではテストに合格していません。デバッグは、エラーがクエリの作成にあることを示しています。

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)

エンティティ クラス:

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

およびクエリ自体:

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

CTRL + カタログをクリックするとエンティティが開かれるため、名前はクエリ内のエンティティと一致します。

前もって感謝します。

4

1 に答える 1

10

でエンティティ クラスをマッピングするのを忘れている可能性がありますpersistence.xml。見てください:)

于 2013-02-07T01:10:05.670 に答える