目前我有一个HQL语句运行正常,但数据不对要进行调整
标准SQL是这样:
select a.BRANDID,a.PICURL ,a.BRAND_CH ,a.SORT ,count(b.PRODUCTID) as counts
from BRAND a left outer join PRODUCT b on a.BRANDID =b.BRANDID and b.Auditstatus='1'
where a.STATUSFLAG = 0 group by a.BRANDID, a.PICURL, a.BRAND_CH, a.SORT
order by a.SORT
调整前的代码:
StringBuffer sql = new StringBuffer();
sql.append("select new com.kmi.terminal.memory.model.view.ViewBrand(a.brandid,");
sql.append("a.picurl,a.brandCh,a.sort,count(b.productid)) from ").append(TABLE_NAME);
sql.append(" a left join a.products b ");
sql.append(" where a.statusflag=0 ");
sql.append(" group by a.brandid,a.picurl,a.brandCh,a.sort order by a.sort");
调整后的代码:
StringBuffer sql = new StringBuffer();
sql.append("select new com.kmi.terminal.memory.model.view.ViewBrand(a.brandid,");
sql.append("a.picurl,a.brandCh,a.sort,count(b.productid)) from ").append(TABLE_NAME);
sql.append(" a left join a.products b ");
sql.append(" and b.auditstatus='1' where a.statusflag=0 ");
sql.append(" group by a.brandid,a.picurl,a.brandCh,a.sort order by a.sort");
具体变化在这一行:
sql.append(" and b.auditstatus='1' where a.statusflag=0 ");
我本来是想Hibernate解析后自动就加上where前的and 条件,结果确不是往想象的方向发展
我想实现和标准SQL相同效果的一个HQL要如何写,或在*.hbm.xml中要如何修改.烦请达人告知
分享到:
相关推荐
Hibernate Query Language(Hql)是Hibernate框架中用于操作对象-关系映射(ORM)的一种语言,它模仿了EJBQL的设计,旨在提供一种跨数据库的查询方式。Hql与SQL有诸多相似之处,但其核心是面向对象而非数据库表格,...
### WebLogic 12下org.hibernate.hql.ast.HqlToken冲突解决方案 在使用WebLogic 12部署应用程序时,可能会遇到与`org.hibernate.hql.ast.HqlToken`相关的异常问题。这种异常通常与Hibernate版本之间的不兼容性有关...
【标题】"hibernate-hql-lucene-1.0.1.Final.zip" 提供的是一个关于Hibernate HQL与Lucene集成的开源项目版本,主要用于在Java应用程序中实现高效、复杂的全文搜索功能。 【描述】"pact-jvm.zip,pact模型" 指的是...
总的来说,HQL作为Hibernate的一部分,为软件开发人员提供了一种高效、直观的方式来查询和操作对象化的数据,简化了与数据库交互的过程,提高了开发效率。通过学习和熟练掌握HQL,开发者可以更好地利用Hibernate框架...
标题中的“HQL学习大全.rar”表明这是一份关于HQL(Hibernate Query Language)的综合学习资源包。HQL是Hibernate框架中用于操作对象关系映射(ORM)的查询语言,它模仿了SQL的语法,但操作的是面向对象的数据。 ...
【标题】"hibernate-hql-testing-1.0.0.Alpha5.zip" 提供的是Hibernate框架的一个测试工具包,专注于HQL(Hibernate Query Language)的测试。Hibernate是Java领域中广泛使用的对象关系映射(ORM)框架,它允许...
1. **参数解释**:`@param hql`注释表示此方法接收一个名为`hql`的参数,该参数是HQL查询语句。 2. **HQL查询执行**:在方法体内部,首先通过`HibernateUtil.getSession()`获取到一个`Session`实例,这是Hibernate...
总的来说,血缘关系解析工具的源码分析与HQL集合的静态分析相结合,是数据治理领域中一种强大的工具,它提供了深入洞察数据流动和依赖关系的能力,对于任何处理大规模HQL查询的组织来说都是不可或缺的。通过理解和...
在本问题中,我们遇到了一个特定的错误,即“weblogic10.3 org.hibernate.hql.ast.HqlToken报错”,这涉及到Hibernate ORM框架和其在WebLogic上的运行。让我们深入探讨这个问题,以及可能的解决方案。 首先,`org....
Where 子句是HQL中用于限制查询结果的关键部分,它接受一个或多个表达式,这些表达式定义了返回的对象必须满足的条件。例如,`from Guestbook where name = 'XXX'` 将只返回名字为'XXX'的Guestbook对象。 2. **...
HQL提供了一种强大且灵活的方式来查询和操作ORM框架中的对象,它通过类和对象的关系映射,简化了与数据库的交互,提高了代码的可读性和可维护性。了解并熟练掌握HQL,对于使用Hibernate或其他类似的ORM框架进行开发...
HQL语句(结合实例).doc HQL语句(结合实例).doc HQL语句(结合实例).doc
HQL(Hibernate Query Language)是一种面向对象的查询语言,它提供了灵活而强大的数据检索方式,使开发人员能够更高效地与数据库交互。本文将详细介绍HQL的基本用法及高级特性。 #### 1. 查询所有记录(Select) ...
2. 通过标识符检索:使用 session.get() 方法或 session.load() 方法根据标识符检索对象。 3. 使用 HQL 检索对象:使用 Hibernate 查询语言 HQL 检索对象。 4. 使用 Hibernate 条件 API:提供了类型安全的面向对象的...
HQL是Hibernate框架提供的一种面向对象的查询语言,它允许开发人员以面向对象的方式编写数据库查询,而无需直接处理SQL语句,从而简化了数据访问逻辑。 ### 1. FROM子句 FROM子句用于指定查询的对象来源。例如,...
描述简洁,但暗示了这是一个练习项目,可能包含了一些关于如何使用HQL处理树形结构数据的示例或问题。用户可能需要通过解压文件,阅读题目和数据,然后编写或修改HQL查询来完成练习。 【标签】:“” 由于没有提供...
1. ** Hibernate基础**:Hibernate提供了一种将Java类和数据库表之间的映射机制,通过XML配置文件(hbm.xml)或注解来定义这种映射。它简化了数据库操作,使得对象可以直接被持久化,同时也支持查询语言HQL...
一、HQL语句in中带参数的写法 在HQL语句中,使用in关键字可以实现集合参数的传递,例如: ```java String hql = "FROM Login login WHERE login.id in (:ids)"; ``` 其中,`:ids`是参数的名称,需要在map中进行设置...
hql开窗函数.sql