JPQL:InnerSelect 导致 PersistenceException(HibernateException:命名查询中的错误)

发布于 2024-08-13 21:35:58 字数 674 浏览 6 评论 0原文

我尝试使用内部选择,但只得到异常“HibernateException:命名查询中的错误”

两个JPA实体:

public class A implements Serializable {
   @Id
   @Column(nullable = false)
   @GeneratedValue(strategy = GenerationType.IDENTITY)
   private Long id;
}

public class B implements Serializable {
   @Id
   @GeneratedValue(strategy = GenerationType.IDENTITY)
   private Long id;

   @JoinColumn(name = "FK_A_ID", nullable = true)
   @ManyToOne
   private A a;
}

此查询导致异常:

SELECT a FROM A a WHERE a.id NOT IN (SELECT b.a.id FROM B b)

但这不会导致异常:

SELECT a FROM A a WHERE a.id NOT IN (1, 2, 3)

知道出了什么问题吗?多谢...

I try to use an inner select, but get only the exception "HibernateException: Errors in named queries"

The both JPA entities:

public class A implements Serializable {
   @Id
   @Column(nullable = false)
   @GeneratedValue(strategy = GenerationType.IDENTITY)
   private Long id;
}

public class B implements Serializable {
   @Id
   @GeneratedValue(strategy = GenerationType.IDENTITY)
   private Long id;

   @JoinColumn(name = "FK_A_ID", nullable = true)
   @ManyToOne
   private A a;
}

This query causes the exception:

SELECT a FROM A a WHERE a.id NOT IN (SELECT b.a.id FROM B b)

But this causes no exception:

SELECT a FROM A a WHERE a.id NOT IN (1, 2, 3)

Any idea what is wrong? Thanks a lot...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花开半夏魅人心 2024-08-20 21:35:58

原因在其他输出中可见:

QuerySyntaxException: "Tablename is not mapped"

此错误已记录,但在异常中不可用。

The reason was visible on other output:

QuerySyntaxException: "Tablename is not mapped"

This error was logged and not available in the exception.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文