SSH框架中hibernate 出現 user is not mapped 問題
在做SSH框架整合時,在進行DAO操作時。這里就只調用了chekUser()方法。運行時報
user is not mapped 錯誤 :
chekUser()方法如下:
public boolean chekUser(User user){
String hql="from user u where u.id=? and u.name=?";
Query query=getSession().createQuery(hql);
query.setInteger(0, user.getId());
query.setString(1, user.getName());
List list=query.list();
if(list.size()>0&&list!=null){return true;}
return false;
}
上面的語句出錯時因為自己寫了HQL的語句,其中我寫的語句是:
String hql="from user u where u.id=? and u.name=?";
但是在HQL語句中表名應該是ORM映射的類名,而不是你在數據庫中的表名。
所以將HQL語句中的user的表名改為User即可,改后如下:
String hql="from User u where u.id=? and u.name=?";
只要將表明換成ORM映射的類名就可以了
在次運行就不會報沒有 xxx is not mapped的錯了。
user is not mapped 錯誤 :
chekUser()方法如下:
public boolean chekUser(User user){
String hql="from user u where u.id=? and u.name=?";
Query query=getSession().createQuery(hql);
query.setInteger(0, user.getId());
query.setString(1, user.getName());
List list=query.list();
if(list.size()>0&&list!=null){return true;}
return false;
}
上面的語句出錯時因為自己寫了HQL的語句,其中我寫的語句是:
String hql="from user u where u.id=? and u.name=?";
但是在HQL語句中表名應該是ORM映射的類名,而不是你在數據庫中的表名。
所以將HQL語句中的user的表名改為User即可,改后如下:
String hql="from User u where u.id=? and u.name=?";
只要將表明換成ORM映射的類名就可以了
在次運行就不會報沒有 xxx is not mapped的錯了。