나는 Hibernate에 대해 아직 익숙하지 않으며 상속 한 웹 사이트에 대해 그것을 사용하려고 시도하고있다. 불행히도 db 스키마가 항상 의미가있는 것은 아니라는 것을 의미합니다. 그와NHibernate : Criteria API를 사용하여 join의 일부인 클래스를 제외하는 방법
은, 내가 선택하고 TableB의에게 반환 SQL을 생성
from TableB b where b.id = :id and b.TableAProperty.UserId = :userId
HQL 문 위의 기준 API를 사용하여 다음 HQL 쿼리를 구축을 위해 노력하고 말했다 만 나는 일이 원하는이다. 그러나 아래에 표시된 Critera API 문을 사용하여 생성 된 SQL 문은 TableB 및 TableA의 필드를 선택합니다.
DataProvider.Session
.CreateCriteria<TableB>()
.Add(Expression.Eq("Id", id))
.CreateCriteria("TableA")
.Add(Expression.Eq("UserId", userId))
.UniqueResult<TableB>()
;
완벽한 세상에서 db 스키마를 업데이트하여 더 많은 의미를 갖출 수는 있지만 아쉽게도 할 수 없습니다. 이것에 대한 도움은 크게 감사 할 것입니다.
귀하의 가정은 정확합니다. – rmblstrp