JPQL:InnerSelect导致的PersistenceException(HibernateException的:在命名查询错误)
-
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"
被记录此错误,并在异常不可用。
不隶属于 StackOverflow