Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java getHibernateTemplate()返回字符串_Java_Hibernate_Hql - Fatal编程技术网

Java getHibernateTemplate()返回字符串

Java getHibernateTemplate()返回字符串,java,hibernate,hql,Java,Hibernate,Hql,我正在使用它,并得到如下错误: 不兼容类型: 必需:字符串 找到:列表 我有一个几乎没有列的表,我想在姓名和地址匹配时返回一个电话 @Override public String getphone(long name,String address){ String phone= getHibernateTemplate().find("from Table where name=" + name+"AND address='" + address+"'"); retur

我正在使用它,并得到如下错误:

不兼容类型: 必需:字符串 找到:列表

我有一个几乎没有列的表,我想在姓名和地址匹配时返回一个电话

@Override
public String getphone(long name,String address){
     String phone= getHibernateTemplate().find("from Table where name=" + name+"AND address='" + address+"'");
        return phone;
    }

我认为这可以解决您的问题

找到
HibernateTemplate的
方法
,返回
列表

公共列表查找(最终字符串查询字符串、最终对象…值)引发DataAccessException{
}
您需要访问列表中的元素,或者说第一个元素并返回该元素

@Override  
public String getphone(long name,String address){ 
     List<EntityABC> entityList = getHibernateTemplate().find("from Table where name=" + name+"AND address='" + address+"'");

if(null!=entityList && entityList.size() >0){
     return phoneNumberList.get(0).getPhone();
}

return null;
}
@覆盖
公共字符串getphone(长名称,字符串地址){
List entityList=getHibernateTemplate().find(“从表中,其中name=“+name+”和address=”“+address+””);
if(null!=entityList&&entityList.size()>0){
返回phoneNumberList.get(0.getPhone();
}
返回null;
}

方法
find()
返回一个
列表
。你想做什么?我想返回一个字符串。正确的语法是什么?作为注释,我认为您应该使用参数化字符串,而不是将其包含在查询中。您可以进一步解释我对hibernate不熟悉。
public List<?> find(final String queryString, final Object... values) throws DataAccessException {

}
@Override  
public String getphone(long name,String address){ 
     List<EntityABC> entityList = getHibernateTemplate().find("from Table where name=" + name+"AND address='" + address+"'");

if(null!=entityList && entityList.size() >0){
     return phoneNumberList.get(0).getPhone();
}

return null;
}