2010-11-23 3 views
0

NHibernate 1.2.0을 사용 중이며 더 새로운 버전으로 마이그레이션 할 수 없습니다. 1.2.0에서는 제한 사항을 허용하지 않으므로 빈 문자열을 아무 것도 대체 할 수 없습니다.NHibernate 쿼리에서 스키마 이름 사용 - 버전 1.2.0

나는 어떻게 든 NHibernate에 좋아하지 않는 다음 사용 CreateQuery

SELECT Col1, COl2 FROM [Employee].[MyTable] WHERE REPLACE(Col1, " ", "") = 'IWANTTHIS' 

을 위해 노력하고 있어요 [직원]. [MyTable에] 나는이 작업을 수행하거나 내가 뭐하는 거지 해결할 수있는 다른 방법이 있나요? 나는 모른다! 도와주세요

답변

0

CreateQuery은 DB 테이블이 아닌 객체의 쿼리로 작성되는 HQL 쿼리를 수행하기위한 것입니다.

예제를 보면 SQL 쿼리를 수행하기 때문에 CreateSQLQuery을 사용할 수 있습니다.

그러나 내 opinoin에서는 ICriteria 또는 HQL을 사용하여 이것을 다시 작성해야한다고 생각해야합니다. 낮은 수준의 SQL을 지정해야하는 이유가 있습니까?

+0

아니요 내가 할 수있는 한 낮은 수준의 SQL을 사용하는 이유가 없습니다. ICriteria는 빈 공간을 없애기 위해 바꾸기 기능을 지원합니까? 제발 최대 절전 모드 1.2 버전을 사용하고 있습니다. 엄청난 시간과 돈을 들이지 않고도 2로 마이그레이션 할 수있는 방법은 없습니다. – user205892