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

StackOverflow https://stackoverflow.com/questions/1868683

  •  18-09-2019
  •  | 
  •  

我尝试使用内部的选择,但只得到异常“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)

任何想法有什么不好?非常感谢......

有帮助吗?

解决方案

的原因是在其他输出中可见:

QuerySyntaxException: "Tablename is not mapped"

被记录此错误,并在异常不可用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top