JPA 中的空是什么?
What is Empty in JPA?
我创建了一个客户 table 并为名为 loan
的列
我为 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 规范:
If there are no associated entities for a multi-valued relationship of
an entity fetched from the database, the persistence provider is
responsible for returning an empty collection as the value of the
relationship.
我创建了一个客户 table 并为名为 loan
的列我为 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 规范:
If there are no associated entities for a multi-valued relationship of an entity fetched from the database, the persistence provider is responsible for returning an empty collection as the value of the relationship.