gpt4 book ai didi

java - Hibernate 或 HQL 选择另一个 SELECT 的结果

转载 作者:行者123 更新时间:2023-11-29 07:39:01 25 4
gpt4 key购买 nike

有没有办法在以下查询中使用 HQL?


SELECT userId, pwd, pwdDate FROM
(SELECT userId, AES_DECRYPT(pwd, 'key_str') as pwd, pwdDate
FROM UserHistory order by pwdDate desc limit 5 ) AS A
WHERE pwd = :pwd

以下有效。


SELECT *
FROM UserHistory order by pwdDate desc limit 5

上面的sql在hibernate中可以是下面的


Criteria criteria = session.createCriteria(UserHistory.class);
criteria.addOrder(Order.desc("pwdDate"));
List<UserHistory> list = criteria.setMaxResults(5).list();

最佳答案

以下工作。关键是为 Native SQL 创建 SQLQuery。

String SQL = 
"SELECT A.* FROM \n" +
"(select * \n" +
" from user_history$ order by pwdDate desc limit 5 ) AS A \n" +
"where pwd = AES_ENCRYPT(:pwd, 'key_str') \n";

Query query = session.createSQLQuery(SQL);
query.setParameter("pwd", psw);
List<UserHistory> list = query.list();

关于java - Hibernate 或 HQL 选择另一个 SELECT 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47426317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com