Как использовать синтаксис mysql, такой как ifnull(max (Id),0) в спящем режиме

посмотрите, как Hibernate не имеет этого синтаксиса, правильно?enter image description here

public int MaxIdenx() {
    int max = 0;
    String hql = "select ifnull(max(empId),0)from Emp";
    Query query = session.createQuery(hql);
    List currentSeq = query.list();
    if (currentSeq == null) {
        return max;
    } else {
        max = (Integer) currentSeq.get(0);
        return max + 1;
    }
}

1 ответов


есть несколько проблем с этим....

несмотря на это, код будет...

public int MaxIdenx() {
    int max = (Integer)session
        .createQuery("SELECT COALESCE(MAX(empId), 0) FROM Emp")
        .uniqueResult();

    return max + 1;
}