我想通过合并LEFT_OUTER_JOIN和RIGHT_OUTER_JOIN来执行FULL_JOIN。我可以将FULL_JOIN用于MSSQL,但不能用于MySQL,因为MySQL不支持FULL_JOIN。因此,要在MySQL中执行FULL_JOIN,我必须结合使用LEFT_OUTER_JOIN和RIGHT_OUTER_JOIN。
我有这样的东西
Criteria criteria = session.createCriteria(User.class,
"user");
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
Criteria userCriteria = criteria.createCriteria("user");
userCriteria .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
List user1 = userCriteria.createAlias("userList",
"user1", JoinType.LEFT_OUTER_JOIN)
.list();
List user2 = userCriteria.createAlias("userList",
"user2", JoinType.RIGHT_OUTER_JOIN)
.list();
user1.addAll(user2);
但这给了我错误
捕获到类org.hibernate.QueryException的未知异常-重复的关联路径:userList
如何使用相同的别名将两个JOIN合并为一个?
P.S:我绝对是Hibernate Criteria Query的初学者,任何帮助或参考都将不胜感激