2012-06-25 4 views
0

문자열 유형의 열을 반환하는 쿼리. 다음 방법을 시도했지만 작동하지 않습니다.HQL HQL을 사용하여 유형 문자열의 단일 열 값을 검색하는 방법

public virtual string GetCityById(int Id) 
    { 
     using (var session = sessionFactory.OpenSession()) 
     { 
      using (var transaction = session.BeginTransaction()) 
      { 
       var queryString = string.Format("SELECT C.CityName FROM {0} AS C WHERE Id=:Id", typeof(T)); 
       return session.CreateQuery(queryString).SetInt32("Id", Id).ToString(); <--Also tried with .SetParameter("Id",Id) 
      } 
     } 
    } 

예상 출력은 다음과 같습니다

NEWYORK

실제 출력은 다음과 같습니다

이름을 선택 FNHHelper.Entites.Cities FROM WHERE 식 : 아이디

답변

1

쿼리의 문자열 표현을 반환합니다. 쿼리를 실행하고 고유 한 결과를 반환하면됩니다.

session.CreateQuery(queryString).SetInt32("Id", Id).UniqueResult(); 

(메서드 이름이 Java 버전과 같다고 가정 함).

관련 문제