2012-02-15 2 views
1

직원 클래스가 있는데, nhibernate를 사용하여 직원 데이터를 검색하고 있습니다. 전체 열 (예 : sql - 선택 *)을 제공합니다. 하지만, 내가 EmployeeName 및 EmployeeID와 같은 컬럼을 선택하기를 원한다면,이 두 속성 (예 : 클래스)을 사용하여 클래스를 생성해야합니다. AliasToBeanResultTransformer 즉 Projection을 사용하면 다시 검색 할 수 있습니다. 당신 만 원한다면 나는nhibernate에서 데이터 열을 찾습니다.

class Employee 
{  
    public int EmployeeId { get; set; } 
    public string EmployeeName { get; set; } 
    public int ResidingInCountryId { get; set; } 
    public virtual Country ResidenceCountry { get; set; } 
} 

답변

0

... NHibernate에 어떤 방법은 내가 특정 열 값을 가져 오지 수 있도록 (또는 하드 코딩 HQL 질의없이 서브 클래스 (EMPL 클래스)을 생성하지 않고)이 있음을 알고 싶어 다음 쿼리에서 몇 열을 투사하는 방법 중 하나를 수행 할 수 있습니다

당신은 간단히 익명 개체의 목록을 원하는 REALLY 경우에 당신이 어떤 이유로

B)이 마음에 들지 언급하지만 a)는 DTO를 사용 결과 변환기를 생략하면 투영 된 값이있는 익명 오브젝트의 목록이됩니다. 이것은 데이터 바인딩에 충분합니다.

또한 프로젝트에 HQL 만 사용할 필요는 없으며, Criteria, QueryOver 또는 NH Linq를 사용할 수 있습니다.

+0

@ Rippo ur 응답 주셔서 감사합니다. generic 메서드를 만들려고합니다. 그래서 주 클래스 인스턴스와 열 이름 목록 만 전달하면됩니다. 예 : 'public IList GetListByCriteriaQuery ()'T는 메인 클래스이고 S는 Sub 클래스입니다. (T 클래스의 모든 컬럼의 조합입니다.) 고정되어 있지 않으므로 각 컬럼 조합의 클래스를 생성 할 수 없습니다. 모든 세 가지 제안과 내가 열심히해야 할 칼럼 이름을 찾으십시오. 공간 부족으로 인해서 Sry는 완전한 논리를 넣을 수 없습니다. 나를 이해할 수 없거나 더 토론해야합니다. . – user1000528

+0

Criteria를 구현했으며 Array 객체의 목록을 반환 할 수있었습니다. 감사 – user1000528

관련 문제