我是hibernate
的新人我有一个MySQL Query
,我希望使用Hibernate criteria
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();
如何在上面的代码中添加Case criteria
。
有什么办法吗?
感谢
答案 0 :(得分: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");
可在此处找到一些帮助/信息: