JPA中的Empty是什么



我创建了一个客户表,并为名为贷款的列

我为1行传递null

我通过"进入另一行

当我执行这个查询时

SELECT c FROM Customer c WHERE c.loans IS EMPTY

我一无所获。

IS EMPTY运算符在逻辑上等效于IS NULL,但适用于集合。

查询可以使用IS EMPTY运算符或IS NOT EMPTY检查集合关联路径是否解析为空集合或是否至少有一个值。

我们可以使用EMPTY来检查属性是否为空。

下面的JPQL展示了如何使用EMPTY来获得没有项目的员工。

Query unassignedQuery = 
em.createQuery("SELECT e " +
"FROM Employee e " +
"WHERE e.projects IS EMPTY");

根据JPA 2.1规范:

如果从数据库中提取的实体,持久性提供程序是负责返回一个空集合作为关系

参考

最新更新