8

Hibernate にはこの構文がないように見えますが、そうですか?ここに画像の説明を入力

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;
    }
}
4

1 に答える 1

14

これにはいくつかの問題があります....

とにかく、コードは...

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

    return max + 1;
}
于 2012-11-20T09:37:02.813 に答える