Я хочу вернуть только один столбец из таблицы. Это мой DAO:Как вернуть только один столбец в Hibernate?
@SuppressWarnings("unchecked")
public String getUri() {
return sessionFactory.getCurrentSession()
.createQuery("uri from Templates WHERE state=1").toString();
}
Uri - это столбец. Домен:
public String getUri() {
return uri;
}
public void setUri(String uri) {
this.uri = uri;
}
Console говорит:
Request processing failed; nested exception is java.lang.IllegalArgumentException: node to traverse cannot be null!
Вторая версия:
@SuppressWarnings("unchecked")
public String getUri() {
return (String) sessionFactory.getCurrentSession()
.createQuery("select uri from TEMPLATES WHERE state=1")
.uniqueResult();
}
консоли:
Request processing failed; nested exception is org.hibernate.hql.ast.QuerySyntaxException: TEMPLATES is not mapped [select uri from TEMPLATES WHERE state=1]
Я думаю, что вы забыли вызвать 'getResultList()' или 'list' в объекте Query. И возвратите 'List