通过HibernateTemplate可以实现原生SQL查询,session销毁不必手动关闭
/*
* 执行SQL查询
*/
private List<ChatOnlineUser> queryChatOnlineUser(final String sql) {
return (List<ChatOnlineUser>)getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException {
Query query = session.createSQLQuery(sql).addEntity(ChatOnlineUser.class);
List<ChatOnlineUser> list = query.list();
if (list!=null && list.size()>0) {
return list;
} else {
return null;
}
}
});
}
//调用示例
sql = "select * from chat_online_user ORDER BY rand() LIMIT 1";
List<ChatOnlineUser> list = queryChatOnlineUser(sql);
本文介绍如何利用HibernateTemplate实现对数据库的原生SQL查询,包括创建SQL查询、添加实体类映射以及获取查询结果的过程。示例代码展示了查询特定条件下的在线用户数据。
728

被折叠的 条评论
为什么被折叠?



