Java 执行HQL查询时发生org.hibernate.queryexception错误
我正在HQL中执行查询,得到以下错误。我使用DB2作为数据库Java 执行HQL查询时发生org.hibernate.queryexception错误,java,hibernate,db2,hql,rank,Java,Hibernate,Db2,Hql,Rank,我正在HQL中执行查询,得到以下错误。我使用DB2作为数据库 Error: Caused by: org.hibernate.queryexception: in expected [hql query] 问题是 final String qStr = "select distinct a.* from (select attr.* from AttributeModel attr, BOModel bo, BusinessIdentifierModel ident, NameTransf
Error: Caused by: org.hibernate.queryexception: in expected [hql query]
问题是
final String qStr = "select distinct a.* from (select attr.* from AttributeModel attr, BOModel bo, BusinessIdentifierModel ident, NameTransferModel name, NameTransferModel name2 WHERE" +
"bo.businessIdentifierId = ident.businessIdentifierId AND" +
"ident.businessIdentifier = :businessIdentifier AND" +
"attr.compAttributeModelKey.boRowNo = bo.compBOModelKey.boRowNo AND" +
"attr.compAttributeModelKey.eventId = bo.compBOModelKey.eventId AND" +
"bo.typeId = name.nameTransferId AND" +
"name.originalName = :className AND" +
"bo.nameId = name2.nameTransferId AND" +
"name2.originalName = :fieldName) a JOIN (SELECT event.eventId, attr2.nameTransferId, attr2.compAttributeModelKey.boRowNo, RANK() OVER (PARTITION BY bo2.businessIdentifierId, attr2.nameTransferId, attr2.compAttributeModelKey.boRowNo ORDER BY event.eventId desc ) rank from EventModel event, BOModel bo2, AttributeModel attr2,BusinessIdentifierModel ident WHERE" +
"event.changeTime <= :time AND" +
"bo2.businessIdentifierId = ident.businessIdentifierId AND"+
"bo2.compBOModelKey.eventId = event.eventId AND" +
"attr2.compAttributeModelKey.eventId = event.eventId AND" +
"attr2.compAttributeModelKey.boRowNo = bo2.compBOModelKey.boRowNo AND" +
"ident.businessIdentifier = :businessIdentifier) b ON (" +
"a.eventId = b.eventId AND" +
"a.nameTransferId = b.nameTransferId AND" +
"a.boRowNo = b.boRowNo AND" +
"RANK = '1')";
请看一眼,如果有任何语法错误,请告诉我第一个错误实际上在消息中
Error: Caused by: org.hibernate.queryexception: **in** expected [hql query]
预计将有一个新的进展
我真的不理解你的加入。
您在第二个子选择上的加入,应该是where IN吗?…我猜这是在抱怨where和关键字后面没有空格?不管怎样,你不应该有更多来自异常的消息吗?还有更多的堆栈跟踪吗?感谢发条缪斯,我已经尝试给空间。但我还是得到了同样的例外。请告诉我是否有任何错误的语法?然后请更新这里的示例以反映这一点。快速浏览并不会发现任何明显的错误,但我希望从引擎中得到堆栈跟踪的其他部分的更好解释。它必须有更多的信息。