以下是我的sql语句: SELECT * FROM (select * from album as b order by b.publishtime desc limit 10) as a order by a.click desc limit 5;语句功能是先在专辑表中找出10个最后发布的专辑,然后在这10个专辑中找出点击数最多的5个专辑。hql语句不支持子表查询,而且子表里面也不知道如何实现limit 10 这个功能(括号里面的)。
现在越来越感觉hql不好用了,似乎一点都不灵活,很考验人呀,据说是任何sql语句都可以转换为hql,但是自己对hql还不熟悉呀,一点没感觉到 hql能跟sql的灵活性相比。
希望各位高手给我解答!
现在越来越感觉hql不好用了,似乎一点都不灵活,很考验人呀,据说是任何sql语句都可以转换为hql,但是自己对hql还不熟悉呀,一点没感觉到 hql能跟sql的灵活性相比。
希望各位高手给我解答!
session.createQuery("from album as b order by b.publishtime desc").setMaxResults(10);找出点击数最高的可以使用代码进行查找和排序。
累不累?!
直接用你上面写的那个就好了
只是返回的结果不好弄吧了
想想查询代码分别在整个系统语句中,多恐怖,这样的编程和直接用JDBC有什么区别。我们用hibernate是因为hibernate能屏蔽底层查询,而你的系统如果必须用底层查询,那么就没必要用这个。
改用ibatis吧。