This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center。
6年前关闭。
我对hibernatemplate有问题,我不知道哪里出错了。我正在使用Hibernate3和Tomcat6。
在我的DAO中,我有一些函数试图使用字符串查询数据库,它们似乎工作得很好。这样地
但是,当我尝试使用整数进行查询时。比如:
我得到这个错误:org.springframework.orm.hibernate3.HibernateQueryException:appuser未映射[从appuser映射为au where au.securityLevel!=?];嵌套异常是org.hibernate.hql.ast.querysyntaxception:appuser未映射[从appuser映射为au where au.securityLevel!=?]
我的实体似乎有必要的注释。因为它对第一个函数起作用,我不明白为什么它对第二个函数不起作用。
@实体
@表(name=“appuser”)
公共类AppUser{
私有int id;
私有字符串用户名;
私有字符串密码;
私有字符串名;
私有字符串secondName;
私有国际州;
私人国际证券公司;
@身份证
@GeneratedValue(strategy=GenerationType.AUTO,generator=“idSeq”)
@SequenceGenerator(name=“id seq”,sequenceName=“app_user_seq_id”)
公共int getId(){
返回id;
}
公共void setId(int id){
this.id=id;
}
公共字符串getUsername(){
返回用户名;
}
public void setUsername(字符串用户名){
this.username=用户名;
}
@列(name=“password_2”)
公共字符串getPassword(){
返回密码;
}
public void setPassword(字符串密码){
this.password=密码;
}
公共字符串getFirstName(){
返回名字;
}
public void setFirstName(字符串firstName){
this.firstName=名字;
}
公共字符串getSecondName(){
返回secondName;
}
public void setSecondName(字符串secondName){
this.secondName=secondName;
}
公共int getState(){
返回状态;
}
public void setState(int状态){
this.state=状态;
}
公共int getSecurityLevel(){
返回安全级别;
}
public void setSecurityLevel(int securityLevel){
this.securityLevel=安全级别;
}
}
6年前关闭。
我对hibernatemplate有问题,我不知道哪里出错了。我正在使用Hibernate3和Tomcat6。
在我的DAO中,我有一些函数试图使用字符串查询数据库,它们似乎工作得很好。这样地
public AppUser getUserByUserName(String username){
HibernateTemplate template=new HibernateTemplate(sessionFactory);
try{
List<AppUser> appList = template.find(" from AppUser as au where au.username=?", username);
tempUser = appList.get(0);
return tempUser;
} catch(Exception e){
System.out.println("Problem in AppUserDao--get byUsername: " + e.toString());
return null;
}
}
但是,当我尝试使用整数进行查询时。比如:
public List<AppUser> getAllMerchants(){
HibernateTemplate template=new HibernateTemplate(sessionFactory);
try{
List<AppUser> appList = template.find(" from appuser as au where au.securityLevel!=?", 112);
if(appList.size() > 0)
return appList;
else
return null;
} catch(Exception e){
System.out.println("Problem in AppUserDao--getAllMerchants: " + e.toString());
return null;
}
}
我得到这个错误:org.springframework.orm.hibernate3.HibernateQueryException:appuser未映射[从appuser映射为au where au.securityLevel!=?];嵌套异常是org.hibernate.hql.ast.querysyntaxception:appuser未映射[从appuser映射为au where au.securityLevel!=?]
我的实体似乎有必要的注释。因为它对第一个函数起作用,我不明白为什么它对第二个函数不起作用。
@实体
@表(name=“appuser”)
公共类AppUser{
私有int id;
私有字符串用户名;
私有字符串密码;
私有字符串名;
私有字符串secondName;
私有国际州;
私人国际证券公司;
@身份证
@GeneratedValue(strategy=GenerationType.AUTO,generator=“idSeq”)
@SequenceGenerator(name=“id seq”,sequenceName=“app_user_seq_id”)
公共int getId(){
返回id;
}
公共void setId(int id){
this.id=id;
}
公共字符串getUsername(){
返回用户名;
}
public void setUsername(字符串用户名){
this.username=用户名;
}
@列(name=“password_2”)
公共字符串getPassword(){
返回密码;
}
public void setPassword(字符串密码){
this.password=密码;
}
公共字符串getFirstName(){
返回名字;
}
public void setFirstName(字符串firstName){
this.firstName=名字;
}
公共字符串getSecondName(){
返回secondName;
}
public void setSecondName(字符串secondName){
this.secondName=secondName;
}
公共int getState(){
返回状态;
}
public void setState(int状态){
this.state=状态;
}
公共int getSecurityLevel(){
返回安全级别;
}
public void setSecurityLevel(int securityLevel){
this.securityLevel=安全级别;
}
}
最佳答案
你的代码好像有错别字。
在第一个函数中使用“from AppUser”,在第二个函数中使用“from AppUser”。
尝试将第二个查询更改为“from AppUser”。
10-04 14:13