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");
可以在此处找到一些帮助/信息: