Java hibernate标准中的Case语句

Java hibernate标准中的Case语句,java,hibernate,hibernate-criteria,Java,Hibernate,Hibernate Criteria,我是hibernate的新手我有一个MySQL查询,我想使用hibernate标准获得相同的输出 MySQL查询: SELECT *, (case when status = 'Active' then 'Can Login' else 'Not able to login' end) as LoginStatus FROM UserLoginTable; 我的休眠代码: SessionFactory sessionFactory = HibernateUtility

我是
hibernate的新手
我有一个
MySQL查询
,我想使用
hibernate标准获得相同的输出

MySQL查询:

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();
SessionFactory SessionFactory=hibernature.getSessionFactory();
Session Session\u hiber=sessionFactory.openSession();
session_hiber.beginTransaction();
标准;
criteria=session\u hiber.createCriteria(UserLoginTable.class);
列表myUserList=(列表)
标准列表();
如何在上述代码中添加
案例标准
。 有办法吗?
谢谢

虽然我没有测试此代码段,但您可以尝试使用类似以下的CriteriaBuilder:

CriteriaBuilder cb = session_hiber.getCriteriaBuilder();
cb.selectCase()
    .when(cb.equal(path.get("status"), "Active"), "Can Login")
    .otherwise("Not able to login")
    .alias("LoginStatus");
可以在此处找到一些帮助/信息: