如何解决org.hibernate.QueryException:无法解析属性:mobileno

时间:2017-03-13 06:58:57

标签: java spring hibernate

我正在使用Hibernate Criteria从表格中的mobileno列获取最大值。

但是当我得到结果时,它会引发异常

org.hibernate.QueryException: could not resolve property: mobileno of: 

我的表bean属性是:

@Column(name="id")
private long id;

@Column(name="code")
private   String  code;


@Column(name="mobileno", updatable=true)
private   long  mobileno;
//Setters and Getters

Hibernate代码:

@Override
public long getMobile() {
    Session session = entityManager.unwrap(Session.class);
    Criteria criteria = session.createCriteria(Data.class);     
    criteria.setProjection(Projections.max("mobileno"));        
    return  (long) criteria.uniqueResult();
}

我哪里出错了,如何从表格中获取最大值?

2 个答案:

答案 0 :(得分:0)

你可以试试这个:

Criteria c = session.createCriteria(Data.class);
c.addOrder(Order.desc("mobileno"));
c.setMaxResults(1);
return (Long)c.uniqueResult();

criteria.setProjection很奇怪

答案 1 :(得分:0)

尝试使用HQL

select max(modelName.mobileno) from ModelName 

并使用了setMaxResults(1)。