mysql - 陷入在 Hibernate 中编写 HQL/MySQL 查询的困境

标签 mysql spring hibernate spring-boot hql

我正在使用 Spring + Hibernate 技术构建 Web 服务,并且是新手 HQL/MySQL 查询。

我面临着一个具有挑战性的场景

enter image description here

student_college表中,学生1、2、3和4学院1学习,学生5,6, 7和8正在学院2学习

此外,在 friend_detail 表中,学院 1 的学生 4 和学院 2 的学生 8 在同一学院没有任何 friend 。

我想获取学生 4 和学生 8 作为列表,他们将被视为可疑人员,因为同一学院的其他人至少有一个 friend 在同一学院

我确信它可以通过 for 循环实现,但是当数据库达到超过 100k 用户时,多次访问数据库以获得一组结果是不可行的,但不知道即使在谷歌搜索了很多之后,如何开始编写查询。

最佳答案

据我所知,您需要编写一个 NOT EXISTS 查询来检查 friend_detail 表中没有好友关系的学生。

我认为这可以解决问题;

select * from student_college sc
where not exists (
select 1 from friend_detail fd where fd.friend1 = sc.student or fd.friend2 = 
sc.student
)

关于mysql - 陷入在 Hibernate 中编写 HQL/MySQL 查询的困境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52676393/

相关文章:

MySQL:查询之间的最佳索引

mysql - MySQL UNION 的替代品

php - 使用 jQuery AJAX 从 MYSQL 检索数据的困难

java - Cloudant 429 模型过多

java - 保存或更新无响应。为什么?

mysql - 在mysql中导入日期

java - 使用 Spring Boot 和 Spring Batch 读取 .csv 文件并将其存储在数据库中

java - STS,运行任何指南项目

java - 新创建的heroku应用程序没有网络测功机

java - 通过 Spring 将字段注入(inject) Hibernate 加载的实体中