Как добавить предложение where к запросу, у которого есть подзапрос? - PullRequest
1 голос
/ 29 сентября 2019

Вот запрос:

Subquery<PreferenceGroup> sq = query.subquery(PreferenceGroup.class);
            Root<Preference> subroot = sq.from(Preference.class);
            Join<Preference, PreferenceGroup> sqEmp = subroot.join("preferenceGroup");
            sq.select(sqEmp).where(builder.equal(subroot.get("key"),
                    prefKey));

, который генерирует:

Hibernate: select preference0_.id as id1_1_, preference0_.key as key2_1_, preference0_.user_id as user_id3_1_ from preference_group preference0_ where preference0_.id in (select preference2_.id from preference preference1_ inner join preference_group preference2_ on preference1_.preference_group_id=preference2_.id where preference1_.key=?)

И это нормально, но я также хочу добавить еще одно выражение where к внешнему оператору select. Как это сделать? Так должно быть ^ ... где preference0_.key =? и preference0_.id in (выберите preference2 _...)

...