java - hibernate 查询使用列表属性检查单个值

标签 java hibernate jpa

我有两个实体类。

1.Course.java
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id; 
private String name;



2.Student.java
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id; 
private String name;
@ManyToMany
private List<Course> course;

现在我需要一个类(class) id = 1 或类(class) id 为空的学生列表; 查询如“FROM Student st WHERE st.course = 1 or course id is null”。 如何在hql中编写这个查询?

最佳答案

您需要加入:

select s from Student s inner join s.courses c where c.id = 1

请注意,我选择在此查询中将字段 course 重命名为 courses:学生有很多类(class),最后的 s 使得很清楚。

关于java - hibernate 查询使用列表属性检查单个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26009731/

相关文章:

Java 局部变量、对象引用、实例变量在哪里

java - 许多商店的许多订阅者

java - 如何为具有 hibernate 配置的 Maven eclipse 项目制作可运行的 jar 文件

java - 使用数据表与单独的审计表进行审计

java - 使用 BigInteger 重写 public int hashCode()

java - 在 Java 网站中实现注册的最佳方法

java - Hibernate,按主键搜索返回表中的所有内容

java - 无法部署 WAR : ClassNotFoundException - What am I still missing?

java - hibernate 嵌入 : component property not found

java - MySql 数据库中的同步需要重新启动 Java 应用程序