2009-12-22 5 views
0

다음과 같은 문제가 있습니다.NHibernate를 읽고 쓸 때 sql 함수 사용하기

필자의 테이블 (블롭)에 특별한 열이 있습니다. 해당 컬럼을 읽고 쓰려면 그 값에 대한 SQL 함수를 호출해야합니다. - 읽을 때 문자열로 변환하고, 쓸 때 문자열에서이 BLOB로 변환해야합니다.

읽기 쉬운 부분입니다. 수식을 사용하여 열에 대해 sql 함수를 실행할 수 있습니다. 그러나 수식은 읽기 전용입니다. IUserType을 사용하는 것도 도움이되지 않았다. 블롭을 가져 와서 내 자신의 코드를 작성하여 내 자신의 유형으로 변환 할 수는 있지만 그렇게하고 싶지는 않습니다. 이미이 작업을 수행하는 데이터베이스 기능이 있습니다.

아이디어가 있으십니까?

답변

0

삽입 및 업데이트 할 SQL을 지정할 수 있습니다 (reference documentation, "Custom SQL for create, update and delete" 참조). 저장 프로 시저를 사용하는 an example from Ayende은 같습니다 (동일하지는 않습니다.

또는이 변환을 수행하는 데이터베이스 트리거를 작성할 수 있습니다.

+0

나는 이것을 할 수 있음을 알고 있지만, 모든 것을 훨씬 더 복잡하게 만들 것입니다. 이 필드는 테이블의 매우 큰 부분에 있으며 매핑에서 각 엔터티에 대해 사용자 지정 SQL을 지정하지 않으려합니다. 이 유형의 열을 처리하는 일반적인 방법을 찾고 싶었습니다. –

관련 문제