我正在尝试以这种格式编写子查询
listObj = session.createQuery("from TablePersistence where column1 not in (select column2 from TablePersistence)").list();
请注意,我在子查询中使用同一个表的不同列。
但是我执行时会遇到异常。异常消息是:
No data type for node: org.hibernate.hql.ast.tree.IdentNode
\-[IDENT] IdentNode: 'column2' {originalText=column2}
如果需要,我也可以提供堆栈跟踪。
但是我看到堆栈跟踪的感觉是,这不是编写子查询的方法,我错过了一些东西。
请告诉我这个查询有什么问题。
谢谢!
答案 0 :(得分:3)
您需要提供表别名。然后它会工作
from TablePersistence table1 where table1.column1 not in (select table2.column2 from TablePersistence table2)