当前位置: 首页 > 知识库问答 >
问题:

JPQL不为NULL返回的对象为NULL

姜博
2023-03-14

我有以下JPQL查询:

@Query("select p FROM Partner p where p.partnerIdentifier IS NOT NULL")
    List<Partner> findAfterDates();

这应该返回所有partner标识符具有NULL的合作伙伴实体

但是,我正在运行代码并进行调试,我看到返回的集合包含此字段为null的实体。

这是JPQL中的错误吗?

共有1个答案

商茂勋
2023-03-14

一位同事过来建议我使用联接,因为内部对象是一对一映射对象。

以下内容现在返回正确的结果:

@Query("select p FROM Partner p join p.partnerIdentifier pi where pi is not null")
List<Partner> findAfterDates();

再次提醒我们,在Hibernate状态下,我们有一个关系数据库,而逻辑上应该使用oop/jpql工作的东西却没有。

 类似资料:
  • 在单元测试(Groovy和Spock)的中,我用mock填充上面的字段: 接下来,在我的测试用例中,我调用一个方法,我希望从中获取,该方法来自步骤中的模拟对象: 问题是,对于,我将获得。 这是因为我以错误的方式使用Groovy吗?如何使成为它应该成为的对象?我应该使用mock/stub吗?

  • 根据JSON规范,表示null值的正确方法是文字。 预期结果: 实际结果:

  • 是否可以将此代码转换为Java8可选的单行表达式? i、 如果某个对象不是null,我需要调用一个对象方法并返回其结果,否则返回0<代码>可选。不可数()。orElse()不适合,因为它返回相同类型的对象,但我需要方法调用的结果或一些默认值。

  • 问题内容: 我在获取云端点方法的用户ID时遇到问题。我在Android客户端中使用了oauth2身份验证,并将凭据传递给了我的服务。下面与我的方法类似(简化以使其更加清晰)。 我注意到python的问题8848似乎与此问题非常相似。 Java api中是否也存在相同问题?方法 即使android客户端中的凭据已执行oauth2身份验证,联邦身份和userId也会显示为null。电子邮件地址正确显示

  • 问题内容: 我最近发现在使用Json.NET将JSON解析为动态对象时,使用null-coalescing运算符存在问题。假设这是我的动态对象: 如果我尝试使用?? d字段之一上的运算符,它返回null: 但是,如果我将动态属性分配给字符串,则可以正常工作: 最后,当我输出时输出。 我已经在Pastebin上对这些问题进行了广泛的测试。 问题答案: 这是由于Json.NET和运算符的晦涩行为。 首