hqlクエリの使用時の例外:Xxx is not mapped[from Xxx where...]
1383 ワード
今日のプロジェクトでhqlクエリーを使用すると、 QingAoCenterInfo is not mapped[from QingAoCenterInfo where...]
明らかにHibernateマッピング関係に問題が発生した.
この例外が発生した場合は、まず、エンティティ・クラスではなく、クエリー・ステートメントでデータベース・テーブルのテーブル名が使用されているかどうかを確認します.
自分のコードを表示:
问题がないことを発见して、百思は理解することができなくて、昨日の午后から今日の午前まで、长い时间をつぶしました.....
.....
最後に、hqlクエリで使用されるfrom Xxxは、エンティティクラスの名前ではなくEntityName(Hibernate注記)であることが判明しました.
次のようになります.
明らかにHibernateマッピング関係に問題が発生した.
この例外が発生した場合は、まず、エンティティ・クラスではなく、クエリー・ステートメントでデータベース・テーブルのテーブル名が使用されているかどうかを確認します.
自分のコードを表示:
centerList = manager.find("from QingAoCenterInfo center where center.type = ? and center.centerName = ?", new Object[]{type,centerName});
问题がないことを発见して、百思は理解することができなくて、昨日の午后から今日の午前まで、长い时间をつぶしました.....
.....
最後に、hqlクエリで使用されるfrom Xxxは、エンティティクラスの名前ではなくEntityName(Hibernate注記)であることが判明しました.
次のようになります.
@Entity
@Table(name="QING_AO_CENTER_INFO")
public class QingAoCenterInfo {
......
}
此处, @Entity后并没有显示的指明EntityName,因此默认采用实体类的名称。我的代码中:
@Entity(name="QING_AO_CENTER_INFO") @Table(name="QING_AO_CENTER_INFO") public class QingAoCenterInfo { ...... }
表示する
EntityNameなので、hqlクエリを使用する場合はfrom
QING_AO_CENTER_fromではなくINFO
QingAoCenterInfo ;centerList = manager.find("from QING_AO_CENTER_INFO center where center.type = ? and center.centerName = ?", new Object[]{type,centerName});