I have 2 classes
- Verification
 - Contract
 
with the following structure:
  public class Verification implements Serializable {
     private Long verificationId;
     private Long salesManCode;
     private Long clientCode;
     ...
  }
  public class Contract implements Serializable {
     private Long contractId;
     private Long salesManCode;
     private Long clientCode;
     ...
  }
These classes have their respectives hbm.xml maps, in the database model the tables do not have association, neither in the hibernate mapping, but when saving a Contract, it must have the same verificationId y the contractId field (Business Rules), but some cases are also given contracts without verification.
verification
 verificationId | salesManCode | clientCode
  1050              1001            2056
  1051              1001            2248
  1054              1002            2856
contract
 contractId | salesManCode |clientCode
  1050         1001          2056         <- this contract have verification
  1051         1001          2248         <- this contract have verification
  1052         1025          2822         <- this contract not have verification
  1053         1254          1547         <- this contract not have verification
  1054         1002          2856         <- this contract have verification
My problem is when I run the HQL query:
select con.salesManCode,  ver.salesManCode, con.clientCode, ver.clientCode, con.contracId, ver.verificationId 
from Verification ver, Contract con
where ver.verificationId = con.contractId
but Hibernate translate with a cross join sentence and combine all records.
Is there any method to execute a HQL query between un-related classes in hbm.xml files?
RULE: should not be mapped entities.
                        
You can map the join relationship between the two tables as follows:
The your query becomes:
So instead of a CROSS JOIN you get an INNER JOIN.