나는 다음과 같은 쿼리 SQL 쿼리가 있습니다최대 절전 모드 기준 쿼리
Criteria childCriteriaCategory = criteria.createCriteria("articleCategory", Criteria.INNER_JOIN);
childCriteriaCategory.add(Restrictions.like("categoryId", categoryId));
Criteria childCriteriaTeam = criteria.createCriteria("team", Criteria.LEFT_JOIN);
childCriteriaTeam.add(Restrictions.in("teamId", teamId));
Criterion teamReadOnly = Restrictions.eq("teamReadOnly", true);
criteria.add(teamReadOnly);
가 어떻게이 "와"첫 번째 괄호 안에 작성할 수 있습니다
select * from Articles ar
left join ArticleTeamRelationships atr on atr.ArticleId = ar.ArticleId
left join Team te on te.TeamId = atr.TeamId
inner join ArticleCategoryRelationships acr on acr.ArticleId = ar.ArticleId
inner join ArticleCategory ac on ac.CategoryId = acr.CategoryId
where ac.CategoryId = 3
and ((te.TeamId in (1) and ar.TeamReadOnly = 1) or te.TeamId is null)
이것은 내가 지금까지 쓴 것입니다 및 "또는"?
이거 봤어? http://www.roseindia.net/hibernate/examples/criteria/hibernate-criteria-and-or.html – Holm
네, 본 적이 있습니다. 내 문제는 두 테이블 사이에 "and"를 넣어야한다는 것이고, 어떻게 해야할지 모르겠다. – jorgen
은 별칭을 사용하여 테이블을 나타냅니다. 이러한 모든 변수가 필요하지 않습니다. 유창한 스타일로 작성하면 훨씬 더 읽기 쉽습니다. –