`

hql语句-根据场所ID查找所有子场所

    博客分类:
  • hql
 
阅读更多
/**
     * 根据场所ID查找所有子场所
     * @return
     */
	@SuppressWarnings("unchecked")
	public List<SysSpotPlaceSite> findAllParentSysPlace(Long siteId,Integer siteDiffType){
		String hql = "select distinct t from SysSpotPlaceSite t ,SysSpotPlaceSite s where " +
				"((concat(t.siteFullParentId,',',str(t.siteId)) like case " +
				"when s.siteFullParentId is null " +
				"then concat(str(s.siteId),',%') " +
				"else concat(s.siteFullParentId,',',str(s.siteId),',%') end " +
				"or t.siteId=s.siteId ) and t.isDel = 1 ) " +
				"and "+(siteId==null?"null is":"s.siteId=")+":siteId " +
				"and s.siteDiffType = :siteDiffType "+
				" order by case when  t.siteFullParentId is null " +
				"then concat('0,',t.siteId) " +
				"else concat( '0,',t.siteFullParentId,',',t.siteId) end ,t.createTime asc";
		return this.getHibernateTemplate().findByNamedParam(hql,new String[]{"siteId","siteDiffType"},new Object[]{siteId,siteDiffType});
	}
分享到:
评论

相关推荐

    HQL语句的语法

    HQL语句的语法结构与SQL相似,但更注重对象和类的概念。以下将详细介绍HQL语句的几个关键部分: 1. **from 子句**:这是HQL查询的起点,用于指定要查询的持久化类。例如,`from Person as p`表示从`Person`类中选择...

    HQL初级出门增删查找例子

    描述中提到,“hibernate中HQL语句的初级测试可用”,这暗示了这个压缩包可能包含一些简单的HQL查询,用于验证和演示如何在实际项目中使用。由于数据库设计被描述为“很简单”,我们可能不会遇到复杂的表关联或高级...

    hibernate查询语言--HQL

    `SimpleConditionQueryTest.java`中可能包含了更复杂的条件查询,如根据年龄范围查找学生。 ```java public class SimpleConditionQueryTest { public void queryByAgeRange(Session session) { String hql = ...

    hibernate-HQL用例

    HQL语句中的实体类名对应于数据库中的表名,属性对应于列名。这使得代码更加面向对象,易于维护。 2. **基本查询结构** HQL的基本查询结构包括:SELECT,FROM,WHERE,GROUP BY,HAVING,ORDER BY等关键字。例如,...

    HQL是hibernate自己的一套查询

    在上面的示例中,我们首先通过`HibernateUtil.getSession()`方法获取到一个`Session`实例,然后定义了一个HQL查询语句,该语句用于从`Admin`表中查询`aname`为`name`的所有记录。最后通过`createQuery`方法创建查询...

    Hibernate HQL.txt

    根据提供的文件信息,我们可以深入探讨Hibernate HQL(Hibernate Query Language)的相关知识点,特别是关于其查询功能、连接操作、条件过滤以及聚合函数的应用等。 ### Hibernate HQL简介 Hibernate HQL是一种...

    J2EE HQL语法大全

    3. **子查询**:在查询中嵌入其他查询,如`WHERE e.id IN (SELECT id FROM Employee WHERE age &gt; 30)`。 **四、HQL分组与排序** 1. **GROUP BY**:按指定字段进行分组,如`GROUP BY e.department`。 2. **HAVING*...

    利用java注解拼装HQL

    在这个例子中,`@NamedQuery`定义了一个名为“findUsersByName”的查询,其HQL语句用于查找名字匹配给定参数的用户。这种方式提高了代码的可读性和可维护性,因为查询逻辑与实体类紧密相关。 除了`@NamedQuery`,...

    jdbc基础和参考

    2.如果找不到,get()会立即发送sql语句到数据库中查找数据,如果找到就返回,如果找不到返回null; load:(使用延迟加载策略) 1.load()方法默认要加载的对象一定存在,所以很放心的使用代理对象,等到用到的时候从...

    java实现数据库增删查功能

    - **根据ID查找用户**:`public AdmingetAdmin(int id)`,此方法直接通过用户的ID来获取该用户的信息。 - **根据用户名查找用户**:`public AdminfindAdmin(String username)`,此方法通过用户名来查找对应的用户...

    Hibernate查询详解

    - **动态构造查询**针对复杂查询场景,尤其是涉及多个表的联合查询,通过程序动态构建HQL语句,增强查询的灵活性和可维护性。 ### 分组与排序 - 使用`ORDER BY`子句可对查询结果进行升序或降序排序。 - `GROUP BY...

    Hibernate查询语句写在配置文件中

    这里,`findUsersByName` 是一个命名查询,可以根据参数动态查找名字为指定值的用户。 4. **SQL 查询**:除了 HQL,你还可以直接在映射文件中定义 SQL 查询,适用于更复杂的数据库特定操作。例如: ```xml ...

    hibernate查询详解

    HQL查询:通过编写HQL语句来执行查询,例如: ```java String hql="from Admin as admin where admin.aname=:name"; Query query=s.createQuery(hql); query.setString("name", name); List&lt;Admin&gt; list=query...

    hibernate通用dao

    - `findById(ID id)`: 根据ID查找实体。 - `findAll()`: 获取所有实体。 - `count()`: 统计实体数量。 - `query(HqlQuery query)`: 使用HQL进行查询。 - `query(Criteria criteria)`: 使用Criteria API进行查询。 *...

    hibernate api

    - `entityManager.find(Class&lt;T&gt; entityClass, Object primaryKey)` 用于根据主键查找实体。 2. **会话(Session)** - Session接口是Hibernate的低级别API,它是与数据库进行交互的主要接口。它类似于JDBC的...

    多对多关系中Set的查询

    这个HQL语句不仅可以用于获取所有课程,还可以配合setFirstResult和setMaxResults方法实现分页功能。 此外,除了HQL,还可以使用集合过滤实现多对多关系的分页查询。更多关于Hibernate查询和分页的信息,可以参考...

    达内java内部资料

    String hql = "select s.id, s.status from Service s"; Query query = session.createQuery(hql); List[]&gt; results = query.list(); ``` - **HQL分页查询**:例如,获取第一页的5条记录。 ```java String hql...

Global site tag (gtag.js) - Google Analytics