0
加入我有以下SQL查询:休眠条件查询与条件
SELECT
tos.ID
FROM
TESTCYCLE_OPCO_SETTING tos
JOIN OPCO o
ON o.ID = tos.OPCO_ID
JOIN TESTCYCLE tc
ON tc.ID = tos.TESTCYCLE_ID
LEFT OUTER JOIN BUILD b
ON b.ID = tc.BUILD_ID
LEFT OUTER JOIN BUILD_OPCO_SETTING bos
ON bos.BUILD_ID = b.ID
AND bos.OPCO_ID = o.ID
需要的是,该OPCO_ID形成TESTCYCLE_OPCO_SETTING被用来获取相应的BUILD_OPCO_SETTING。我在最后一个JOIN中用“AND”条件完成了这项工作。
我现在要创建一个Hibernate查询性判据出这一点,并创建以下别名的加入:
criteria.createAlias("opco", "opco");
criteria.createAlias("testcycle", "testcycle");
criteria.createAlias("testcycle.build", "build", CriteriaSpecification.LEFT_JOIN);
criteria.createAlias("build.buildOpcoSettings", "buildOpcoSetting", CriteriaSpecification.LEFT_JOIN, Restrictions.eqProperty("buildOpcoSetting.opco.id", "opco.id"));
但是第四别名抛出一个SQL错误,我认为我使用这个错误地为我想达到的目的。如果我用一个特定的数值替换属性“opco.id”,它可以工作,但这当然不会帮助我。 任何想法?