Junção implícita de HQL na cláusula where gera cross join em vez de inner join

Estou usando o Hibernate 3.6 e o ​​MSSQL 2012.

Ao executar este HQL

select tbl.state from Property tbl where tbl.state = 1 and tbl.entity.state = 1 and
tbl.entity.className = 'com....' and tbl.fieldName = 'fieldName'

Estou recebendo esse SQL

select property0_.State as col_0_0_ from Properties property0_ cross join Entities
entity1_ where property0_.refEntityid=entity1_.id and property0_.State=1 and
entity1_.State=1 and entity1_.ClassName='com....' and property0_.FieldName='fieldName'

* Observe ojunção cruzada e acondição adicionada na cláusula where.

De acordo com o Hibernate docshttps://docs.jboss.org/hibernate/core/3.5/reference/en/html/queryhql.html#queryhql-joins-forms

junção implícita deve gerar parajunção interna.

Eu notei que há um bug abertohttps://hibernate.atlassian.net/browse/HHH-7707 isso pode estar se referindo a esse problema, mas ninguém respondeu e já está aberto há um ano.

Eu apreciaria qualquer informação sobre este assunto. Obrigado.

PS. Estou bem ciente de que o uso de junções implícitas não é o jeito certo de escrever o HQL, mas não posso fazer nada sobre isso agora.

questionAnswers(2)

yourAnswerToTheQuestion