객체타입이 아닌 기본자료형(int, long, etc..)에 대해서 SELECT의 결과가 비어있으면(null) 발생한다.

해결방법
1. 기본형은 초기화를 직접 해주거나 ....
2. NVL(COLUMN, 0) AS column 해주거나 ....
3. 해당 자료를 객체형으로 바꾸면 된다.
톰캣에서 Spring & Log4j 리스너 사용 시 발생가능한 문제

예외 메시지 1 : Error reading tld listeners java.lang.NullPointerException
예외 메시지 2 : ApplicationContext.java:647 : Shutting down log4j

문제는 org.springframework.web.util.Log4jConfigListener가 org.springframework.web.context.ContextLoaderListener 전에 로드되어야 한다는 점이다.

샘플 web.xml

방식 1


방식 2

※ 추가 참고사항
케이스
메소드명
결과세트를 반환할 때
queryForList(), queryForObject()
한 개 이상의 결과 객체를 반환할 때
queryForList()
한개의 결과 객체를 반환할 때
queryForObject()
결과세트를 반환하지 않거나 OUT
파라미터에 결과세트를 세팅하지 않을 때
update()
 

ALTER TABLE CHILD_TABLE ADD (
    CONSTRAINT CHILE_TB_R01
FOREIGN KEY (PK, PK2)
REFERENCES PARENT_TABLE (PK, PK2)
   ON DELETE CASCADE);

PARENT_TABLE 테이블의 PK, PK2에 해당하는 로우 삭제 시 제약조건에 걸려있는 CHILD_TABLE의 PK, PK2에 해당하는 로우가 자동 삭제됨

이거 몰라서 그동안 프로그램으로 처리했다규~~ ㅠㅠ

+ Recent posts