【发布时间】:2011-05-13 02:06:11
【问题描述】:
我有以下 MySql 依赖代码 (ORDER BY RAND())。我想知道它是否有休眠 HQL 替代方案(管理员是布尔标记,表示用户是管理员)。这是工作代码:
public long getRandomAdmin() {
Session session = getSession();
Query selectQuery = session.createSQLQuery("SELECT user_id FROM users WHERE admin = '1' ORDER BY RAND()");
selectQuery.setMaxResults(1);
List<BigInteger> list = null;
try {
list = selectQuery.list();
} catch (HibernateException e) {
log.error(e);
throw SessionFactoryUtils.convertHibernateAccessException(e);
}
if (list.size() != 1) {
log.debug("getRandomAdmin didn't find any user");
return 0;
}
log.debug("found: " + list.get(0));
return list.get(0).longValue();
}
【问题讨论】:
标签: java sql mysql hibernate hql