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;
}