session.createQuery("select ccrd.createdDate , s1 "
+ "from CrComponentRelDependency ccrd "
+ "left outer join ccrd.crComponentDependencyDtls s1 "
+ "where ccrd.crComponent.componentSeq= :COMPONENT_SEQ "
+ "and (ccrd.referencedComponentVer IS NULL) "
.setParameter("COMPONENT_SEQ", componentId);
此查询为 ccrd.createdDate 提供了有效值,但它为 s1 实体返回NULL。 我已经在 CrComponentRelDependency &之间定义了一对一的关系。的 crComponentDependencyDtls
答案 0 :(得分:1)
HQL为您完成所有加入,因此不显式连接表。试试这个:
session.createQuery("select createdDate, crComponentDependencyDtls "
+ "from CrComponentRelDependency ccrd "
+ "where crComponent.componentSeq = :COMPONENT_SEQ "
+ "and referencedComponentVer IS NULL")
.setParameter("COMPONENT_SEQ", componentId);
另请注意,从HQL中删除不必要的资格和括号。