`

hibernate hql(多对多 子查询)

阅读更多
现在有两张表,文章(Article) 和 目录(Category).

找出某些个目录中的所有文章的hql:

from Article as a left join a.categories as c where c.id in(:ids)

找出某些目录中但不属于指定目录(id=xxx)的hql:
from Article a where a in (select elements(c.articles) from Category c where c.id in (:ids)) and a not in (select elements(c.articles) from Category c where c.id = xxx)
分享到:
评论

相关推荐

    Hibernate-HQL.rar_HQL_hibernate hql

    2. 子查询:可以在WHERE或HAVING子句中嵌套HQL查询,如“SELECT u FROM User u WHERE u.id IN (SELECT f.userId FROM Friend f WHERE f.friendId=100)”。 3. 动态HQL:通过Criteria API或Query接口,可以构建动态...

    Hibernate 课件_HQL

    - **定义**:子查询是在一个查询内部包含另一个查询的情况。 - **示例**: - `Query query = session.createQuery("from User u where u.id in (select r.userId from Role r where r.roleName = 'admin')");` ###...

    HibernateHql综合测试小程序

    本程序“HibernateHql综合测试小程序”是针对Hibernate中的HQL(Hibernate Query Language)进行的一系列功能测试,涵盖了二十多种不同的HQL语句,旨在帮助开发者深入理解和熟练运用Hibernate的查询能力。...

    Hibernate HQL查询.docx

    除了基本的查询之外,HQL 还支持更复杂的查询,例如连接查询、子查询以及分页查询等。 1. **连接查询** - 使用 `JOIN` 关键字进行连接查询。 - 示例:查询所有用户的订单信息。 ```java String hql = "SELECT u...

    Hibernate HQL 结合 velocity

    HQL支持各种复杂的查询操作,如聚合函数、连接查询、子查询等。 **Velocity** 的核心概念是模板,开发者可以在模板中嵌入Java表达式,这些表达式会根据运行时的数据上下文进行计算。Velocity模板语言(VTL)简洁且...

    hibernate 查询?Hibernate的HQL查询

    它支持连接(inner/outer/full joins)、投影、聚合、分组、排序、子查询以及SQL函数调用。 2. 简单HQL示例: ```java Query query = session.createQuery("from User user where user.name like 'J%'"); List...

    Hibernate-HQL-查询-Query资料

    - **关联查询**:处理一对多、一对一、多对多等关联关系的查询。 4. **条件查询** - 使用WHERE子句指定查询条件,支持比较操作符(=、<、>、、>=、!=)、逻辑操作符(AND、OR、NOT)以及IN、BETWEEN、LIKE等。 5...

    Hibernate HQL详解.docx

    以下是对HQL的详细解释,以及在文档中提到的各种使用场景: 1. **实体查询**: 基本的实体查询可以通过`FROM`关键字来实现,如`FROM User`。执行此查询后,将获取所有User实体,并返回一个对象列表。在遍历结果时...

    hibernate_hql.rar_HQL

    五、HQL子查询 HQL允许在查询中嵌套查询,子查询可以作为查询条件或者返回结果的一部分。比如,找出年龄大于平均年龄的用户: ```java String hql = "from User where age > (select avg(age) from User)"; ``` 六...

    hibernate子查询

    在使用Hibernate进行数据查询时,有时会遇到需要使用子查询的情况。然而,正如你所描述的,Hibernate的HQL(Hibernate Query Language)并不直接支持在`FROM`子句后跟一个子查询,这与标准的SQL语法有所差异。在HQL...

    hibernate 中HQL语句查询学习笔记

    子查询是在另一个查询内部的查询,可以用于多种复杂的场景。 ##### 嵌套子查询的概念 子查询通常用于比较、筛选等操作。 ##### 带有IN谓词的子查询 用于检查值是否存在于另一个查询结果中: ```hql SELECT s ...

    hibernate查询语言hql

    HQL支持一对一、一对多、多对一、多对多等关联查询: 1. **一对一关联**: 查询与`User`对象关联的`Profile`对象: ```java query = session.createQuery("from User u join fetch u.profile"); ``` 2. **一对...

    hibernate hql大全

    **子查询** HQL中可以嵌套子查询,如下所示: ```java from Employee e where e.id in (select e2.id from Employee e2 where e2.age > 30) ``` 这将返回所有年龄大于30的员工的ID。 ### 7. **命名查询** 在...

    Hibernate 函数 ,子查询 和原生SQL查询

    子查询是嵌套在另一个查询中的查询,它可以作为查询的一部分返回单个值、多个值或整个结果集。在Hibernate中,子查询可用于以下场景: 1. **IN/NOT IN操作符**:`from Entity e where e.id in (select id from ...

    hibernate-HQL用例

    5. **子查询** HQL允许在查询语句中嵌套查询,这对于复杂条件的筛选非常有用。如找出年龄大于所有用户平均年龄的用户: ```sql SELECT u FROM User u WHERE u.age > (SELECT AVG(age) FROM User) ``` 6. **参数...

    Hibernate HQL教程

    - **解释**: 子查询是在另一个查询语句内部的查询,用于增强查询的灵活性和表达能力。 ##### 1.3.2 带有IN谓词的子查询 - **语法**: ```hql SELECT s FROM Student s WHERE s.sdept IN (SELECT c.cname FROM ...

    hibernate02:session对象、hql查询、在线查询也叫对象查询、离线查询

    HQL支持各种操作,如选择、投影、连接、分组、排序等,还可以进行复杂的条件查询和子查询。例如,以下是一个简单的HQL查询示例,用于获取所有年龄大于30岁的用户: ```java String hql = "FROM User WHERE age > 30...

    hibernate的hql语句

    4. **关联的处理**:HQL支持处理一对一、一对多、多对一和多对多的关联。例如,`from Cat as cat left join fetch cat.kittens as kittens`会加载每只猫及其所有幼崽,即使幼崽数据未被立即使用,也能通过父对象访问...

Global site tag (gtag.js) - Google Analytics