我正在尝试以这种格式编写子查询
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}
如果需要,我也可以提供堆栈跟踪。
但是从堆栈跟踪中我感觉到,这不是编写子查询的方法,我遗漏了一些东西。
请告诉我此查询有什么问题。
谢谢!!
最佳答案
您需要提供表别名。然后就可以工作了
from TablePersistence table1 where table1.column1 not in (select table2.column2 from TablePersistence table2)
关于java - Hibernate:使用子查询时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10329032/