Критерии гибернации: как объединить LEFT_OUTER_JOIN и RIGHT_OUTER_JOIN для выполнения FULL_JOIN - PullRequest
0 голосов
/ 26 февраля 2019

Я хочу выполнить FULL_JOIN, комбинируя LEFT_OUTER_JOIN и RIGHT_OUTER_JOIN.Я могу использовать FULL_JOIN для MSSQL, но не для MySQL, так как FULL_JOIN не поддерживается в MySQL.Итак, чтобы выполнить FULL_JOIN в MySQL, мне нужно объединить 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-соединения в один, используя один и тот же псевдоним?

PS:Я абсолютный новичок в Hibernate Criteria Query, любая помощь или любые ссылки будут высоко оценены

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...