0
org.hibernate.QueryException的person.name:无法解析属性:com.example.Scholarship偶尔org.hibernate.QueryException:无法解析属性:com.example.Scholarship
我的实体person.name奖学金有一个领域“人”(实体人),它有一个字段“名称”(字符串) 当我使用标准来执行一个简单的选择数据库时,我得到这个异常。
org.hibernate.QueryException:无法解析属性:com.example.Scholarship
这里的person.name的方法我用它来进行选择:
public <T> Collection<T> findAll(Class<T> classe, PagingInformation paging, String orderField, String orderType) throws DAOException {
Long total = (Long) getSession().createQuery("select count(*) from " + classe.getName()).uniqueResult();
if (paging != null) {
paging.setTotalRegistros((int) total.longValue());
}
Criteria c = getCriteria(classe);
c.setCacheable(true);
if (paging != null) {
c.setFirstResult(paging.getPaginaAtual() * paging.getTamanhoPagina());
c.setMaxResults(paging.getTamanhoPagina());
}
if (orderType.equals("asc")) {
c.addOrder(Order.asc(orderField));
} else {
c.addOrder(Order.desc(orderField));
}
return c.list();
}
我传递给orderField字符串“person.name”和orderType“asc”。重点是,人有另一个字段,身份证(长),当我通过“person.id”它工作得很好。那么问题是什么?我无法使用字段的字段来使用Criteria执行排序?
p.s .:问题不是大写或这种拼写错误,我得到了所有的getters方法。
你能发布生成的查询吗? –
在生成任何查询之前抛出异常 –