iBatis, query문
위와 같은 형태에서 A, B는 BIGINT형이고 NOT NULL이 false일때 A_VALUE는 정상적인 Long형의 값이 오고 B_VALUE에는 NULL이 전달되는 경우이다.
(1) #B_VALUE:BIGINT:-999999# --> 안된다.
(2) #B_VALUE:BIGINT# --> 안된다.
(3) #B_VALUE:NUMERIC:-999999# --> 안된다.
(4) #B_VALUE:NUMERIC# --> 안된다.
(5) #B_VALUE:INTEGER:-999999# --> 안된다.
(6) #B_VALUE:INTEGER# --> 안된다.
(7) #B_VALUE:NUMBER:-999999# --> 안된다.
(8) #B_VALUE:NUMBER# --> 안된다.
(9) #B_VALUE:BIGINT:NO_ENTRY# --> 안된다.
원인은 모두 B_VALUE의 값이 없으니까 null로 처리되고, 그러면서 ibatis가 B_VALUE의 타입을 몰라서 발생하는 것으로 생각된다. 위의 9가지 실험에서 에러 메시지는 모두 같았다. (참고로 데이타타입이 문자일때는 NO_ENTRY로 했을때 문제없음이다.)
dynamic query를 쓰는 수 밖에.......
이렇게 쓰면 된다.
위와 같은 형태에서 A, B는 BIGINT형이고 NOT NULL이 false일때 A_VALUE는 정상적인 Long형의 값이 오고 B_VALUE에는 NULL이 전달되는 경우이다.
(1) #B_VALUE:BIGINT:-999999# --> 안된다.
(2) #B_VALUE:BIGINT# --> 안된다.
(3) #B_VALUE:NUMERIC:-999999# --> 안된다.
(4) #B_VALUE:NUMERIC# --> 안된다.
(5) #B_VALUE:INTEGER:-999999# --> 안된다.
(6) #B_VALUE:INTEGER# --> 안된다.
(7) #B_VALUE:NUMBER:-999999# --> 안된다.
(8) #B_VALUE:NUMBER# --> 안된다.
(9) #B_VALUE:BIGINT:NO_ENTRY# --> 안된다.
원인은 모두 B_VALUE의 값이 없으니까 null로 처리되고, 그러면서 ibatis가 B_VALUE의 타입을 몰라서 발생하는 것으로 생각된다. 위의 9가지 실험에서 에러 메시지는 모두 같았다. (참고로 데이타타입이 문자일때는 NO_ENTRY로 했을때 문제없음이다.)
dynamic query를 쓰는 수 밖에.......
이렇게 쓰면 된다.
'공장' 카테고리의 다른 글
ibatis, prepend 삭제하기 (0) | 2012.01.07 |
---|---|
웹 어플리케이션을 여러 포트로 접속하기 (0) | 2011.12.23 |
tomcat, log4j 사용하기 (0) | 2011.12.23 |