Retornar String DetachedCriteria

Galera, estou com dificuldade para retornar uma lista de String usando DetachedCriteria, deem uma olhada no codigo e vejam podem me ajudar em alguma coisa!

[code]
public List getCoisaPorObjetoEString(String idObjeto, String str) {
DetachedCriteria criteria = DetachedCriteria.forClass(Objeto.class);
criteria.add(Restrictions.eq(“id”, idObjeto));

	DetachedCriteria criteriaCoisa = criteria.createCriteria("coisas");
	criteriaCoisa .add(Restrictions.ilike("nome", str, MatchMode.ANYWHERE));
	criteriaCoisa .setProjection(Projections.property("nome"));
	
	return getHibernateTemplate().findByCriteria(criteria);
}

coloquei o codigo ali encima errado e nao estou conseguindo editar, entao aqui vai o codigo que estou usando!

    public List getCoisaPorObjetoEString(String idObjeto, String str) {  
            DetachedCriteria criteria = DetachedCriteria.forClass(Objeto.class);  
            criteria.add(Restrictions.eq("id", idObjeto));  
              
            DetachedCriteria criteriaCoisa = criteria.createCriteria("coisas").;
            criteriaCoisa .add(Restrictions.ilike("nome", str, MatchMode.ANYWHERE));  
            criteriaCoisa .setProjection(Projections.property("nome"));  
              
           return getHibernateTemplate().findByCriteria(criteria);  
       }  

codigo correto!

    public List getCoisaPorObjetoEString(String idObjeto, String str) {  
            DetachedCriteria criteria = DetachedCriteria.forClass(Objeto.class);  
            criteria.add(Restrictions.eq("id", idObjeto));  
              
            DetachedCriteria criteriaCoisa = criteria.createCriteria("coisas");
            criteriaCoisa .add(Restrictions.ilike("nome", str, MatchMode.ANYWHERE));  
            criteriaCoisa .setProjection(Projections.property("nome"));  
              
           return getHibernateTemplate().findByCriteria(criteria);  
       }