2017-09-27 11 views
0

私はMySQL Query持っhibernateに非常に新しいですし、私はHibernate criteriacase文は

MySQLのクエリ使用して同じ出力をachiveたい:

SELECT *, 
(case when status = 'Active' 
    then 'Can Login' 
    else 'Not able to login' end) as LoginStatus 
FROM UserLoginTable; 

マイ休止状態コード:

SessionFactory sessionFactory = HibernateUtility.getSessionFactory(); 
Session session_hiber = sessionFactory.openSession(); 

session_hiber.beginTransaction(); 
Criteria criteria; 

    criteria = session_hiber.createCriteria(UserLoginTable.class); 
    List<UserLoginTable> myUserList = (List<UserLoginTable>) 
    criteria.list(); 

上記のコードにCase criteriaを追加する方法を教えてください。 方法はありますか? おかげ

答えて

0

私はこのスニペットをテストしなかったが、あなたはCriteriaBuilderを使用しようとするこのような何か:一部のヘルプ/情報はここで見つけることができます

CriteriaBuilder cb = session_hiber.getCriteriaBuilder(); 
cb.selectCase() 
    .when(cb.equal(path.get("status"), "Active"), "Can Login") 
    .otherwise("Not able to login") 
    .alias("LoginStatus");