我对 hibernate
很陌生,我有一个 MySQL 查询
,我想使用 Hibernate 标准
获得相同的输出
MySQL 查询:
SELECT *,
(case when status = 'Active'
then 'Can Login'
else 'Not able to login' end) as LoginStatus
FROM UserLoginTable;
我的 hibernate 代码:
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();
如何在上述代码中添加案例条件
。
有什么办法吗?
谢谢
最佳答案
虽然我没有测试此代码片段,但您可以尝试使用 CriteriaBuilder ,如下所示:
CriteriaBuilder cb = session_hiber.getCriteriaBuilder();
cb.selectCase()
.when(cb.equal(path.get("status"), "Active"), "Can Login")
.otherwise("Not able to login")
.alias("LoginStatus");
可以在这里找到一些帮助/信息:
关于java - hibernate 标准中的案例声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46446934/