1

このステートメントは、ユーザーがデータベースに存在するかどうかを確認するためのものです。

public boolean isExisting(int userId) {
    String sql = "{call isExistingUser(?)}";
    Session session = null;
    boolean isExisting = false;
    try {
        session = getSession();
        SQLQuery query = session.createSQLQuery(sql);
        query.setParameter(0, userId);
        List<?> list = query.list();
        isExisting = list.get(0) != null ? (Boolean) list.get(0) : false;  
    } finally {
        if (session != null)
            session.close();
    }
    return isExisting;
}

これはストアド プロシージャです。

CREATE DEFINER= cbsadmin@ %PROCEDURE isExistingUser(IN userId int) BEGIN SELECT USER_ID FROM USER_LOGIN_STATUS WHERE USER_ID = userId; 終わり

4

1 に答える 1

0

NHibernate で切り離された基準を使用してストアド プロシージャをクエリすることはできません。

SQL クエリのみを使用する必要があります。

ここを参照してください。

于 2012-10-03T08:37:57.617 に答える