[오류 해결]null pointer access the variable session can only be null at this location

2023. 5. 24. 12:00Programming/Error 처리

일반적으로 mapper를 사용할 때,

 

List<testVO> list = testDAO(tvo); 형태를 선호한다. 따로 별도의 설정을 추가할 필요 없이, DB에서 수행한 쿼리 실행 결과를 리스트로 반환하기 때문이다.

 

 

하지만 이번에는 ESB를 이용하여 통신 결과를 받아오고, 이를 다시 현 프로젝트의 DB를 바탕으로 새로운 데이터로 가공한 후 리스트의 형태로 만들어 return 해야 했기 때문에  조인을 사용하여 직접적으로 리스트의 형태로 반환할수 없었다.

 

 

 

[에러 발생 예시 코드]

 

 

List<testVO> makeList = null;

 

List<testVO> list = testDAO(tvo); 

 

for(testVO orginList : list  ){

   testVO setVO = new testVO ();

    if(orginList .getAge  > 20){

      setVO.setFalg("성인");

   }

  else{

   setVO.setFalg("미성년자");

   }

  makeList.add(setVO);

}

 

 

 

 

무난하게 해결될 것으로 보였던 코드에 에러가 발생했다.

 

에러 문구는 다음과 같다.

 

null pointer access the variable session can only be null at this location

 

 

 

[해결 방법]

해결 방법은 의외로 간단했다.

List makeList = null로 초기화 하였기 때문에 tvo를 add할 수 없었다.

 

 

 

따라서 List를

 

List<testVO> makeList = new ArrayList<testVO>();

 

의 형태로 ArrayList로 만들어주면 에러 해결이 가능하다.

 

 

 

+) 너무 오랜만에  VO를 add해줘서 만든 가장 기본적인 실수였던 거 같다. 기본에 충실하도록 하자!