여러 조인이 관련된 상태에서 기준 쿼리를 작성하는 방법
-
21-08-2019 - |
문제
기준 API를 사용하여 다음 HQL 쿼리를 코딩하려고합니다.
var userList = _session
.CreateQuery("select u from User u where u.Role.ID=3 and u.Customer.ID=:cID")
.SetInt32("cID", 1)
.List<User>();
(3 nhibernate 객체 : 사용자 (ID, 이름, 역할, 고객), 역할 (ID, 이름) 및 고객 (ID, 이름).
다음을 시도했지만 Nhibernate가 역할과 관련된 고객을 찾으려고 시도하기 때문에 작동하지 않습니다.
var userList = _session
.CreateCriteria(typeof(User))
.CreateCriteria("Role")
.Add(Restrictions.Eq("ID", 3) )
.CreateCriteria("Customer")
.Add(Restrictions.Eq("ID", 1) )
.List<User>();
다른 방법으로 (작동합니다!)
해결책
별명을 사용할 수 있습니다
var userList = _session
.CreateCriteria(typeof(User), "u")
.CreateAlias("u.Role", "r")
.Add(Restrictions.Eq("r.ID", 3) )
.CreateAlias("u.Customer", "c")
.Add(Restrictions.Eq("c.ID", 1) )
.List<User>();
도움이되기를 바랍니다
제휴하지 않습니다 StackOverflow