|
| 作 者 | 话 题 正 文 |
广东 深圳
加入时间:2009-04-19 |
X相关的软件以下是SQL SERVER 2000中编写的代码: SELECT m.shoesid, m.shoesname, m.shoestype, m.shoessize, m.shoescolor, m.shoesprice, m.shoesstate, n.shoesNum FROM Shoes AS m INNER JOIN (SELECT a.shoesid, ISNULL(a.x, 0) - ISNULL(b.x, 0) AS shoesNum FROM (SELECT shoesid, SUM(shoesnum) AS x FROM Stock AS ss GROUP BY shoesid) AS a LEFT JOIN (SELECT shoesid, SUM(salesnum) AS x FROM Sales AS cc GROUP BY shoesid) AS b ON a.shoesid = b.shoesid) AS n ON m.shoesid = n.shoesid 其中: 表Stock ,Shoes ,Sales 为实体对象。 由于系统的数据库可能未知,而上面的SQL语句中用到了SQL SERVER 中特有的函数Isnull。所以如果我用原生SQL来做的话,换了个数据库系统肯定是不行的。 所以请帮忙用HQL实现以上语句,或者用Criteria实现也可以。不胜感激! |
| 返回顶部 | 回复此话题 | |
广东 广州
加入时间:2008-08-31 |
2楼:
回复: 高手请帮忙把Hibernate中SQL转HQL,详细见内容
发表时间: 2009-09-16 13:09
Hibernate 并不能解决100%的问题,有些时候也要辅以 SQL 而且这个 SQL 那么复杂,还不如直接用 SQLQuery 直接处理了。 |
| 返回顶部 | 此回帖顶部 | 回复此话题 |
广东 深圳
加入时间:2009-04-19 |
3楼:
回复: 高手请帮忙把Hibernate中SQL转HQL,详细见内容
发表时间: 2009-09-16 13:45
引用来自“红薯”的帖子Hibernate 并不能解决100%的问题,有些时候也要辅以 SQL 而且这个 SQL 那么复杂,还不如直接用 SQLQuery 直接处理了。 不可以用SQLQuery啊,因为这个SQL语句用到了SQLSERVER的函数ISNULL。如果我换了个数据库引擎,那就不行了,比如MYSQL。。。。明白我的意思了吧。 其实这个语句不复杂的。看看还有别的什么方法解决不了? |
| 返回顶部 | 此回帖顶部 | 回复此话题 |
广东 广州
加入时间:2008-12-07 |
4楼:
回复: 高手请帮忙把Hibernate中SQL转HQL,详细见内容
发表时间: 2009-09-16 17:27
土方法就是把SQL拆成N个HQL,然后再在程序里去组吧~~~ |
| 返回顶部 | 此回帖顶部 | 回复此话题 |
陕西 西安
加入时间:2008-12-05 |
5楼:
回复: 高手请帮忙把Hibernate中SQL转HQL,详细见内容
发表时间: 2009-09-17 14:21
转化很简单,对应着你的映射文件就是了,但是要注意的是:在Hibernate 的HQL查询中,如果你要写上INNER JOIN , LEFT JOIN 这样的关键字的话,就必须专门做出映射文件来配置你inner join...on on后面的条件。left join...on 同样,你写几个on 就要配几个文件。 |
| 返回顶部 | 此回帖顶部 | 回复此话题 |
广东 深圳
加入时间:2009-04-19 |
6楼:
回复: 高手请帮忙把Hibernate中SQL转HQL,详细见内容
发表时间: 2009-09-18 14:49
引用来自“小Break”的帖子
转化很简单,对应着你的映射文件就是了,但是要注意的是:在Hibernate 的HQL查询中,如果你要写上INNER JOIN , LEFT JOIN 这样的关键字的话,就必须专门做出映射文件来配置你inner join...on on后面的条件。left join...on 同样,你写几个on 就要配几个文件。 不会吧。这也太太那个了。我肯定是想走捷径了。 达到快速而有简介的目的,不想搞的那么复杂化。 |
| 返回顶部 | 此回帖顶部 | 回复此话题 |
广东 深圳
加入时间:2009-04-19 |
7楼:
回复: 高手请帮忙把Hibernate中SQL转HQL,详细见内容
发表时间: 2009-09-18 14:50
引用来自“Jimmy”的帖子
土方法就是把SQL拆成N个HQL,然后再在程序里去组吧~~~ 这个。。。可以是可以,但实在是繁琐,供参考用吧。 |
| 返回顶部 | 此回帖顶部 | 回复此话题 |