hqlクエリの使用時の例外:Xxx is not mapped[from Xxx where...]

1383 ワード

今日のプロジェクトでhqlクエリーを使用すると、   QingAoCenterInfo is not mapped[from QingAoCenterInfo where...]
明らかに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});