본문 바로가기
study/ERROR CASE

error : ibatis net.sf.cglib.beans.BulkBeanException

by 휘루걸음 2011. 5. 11.
728x90
반응형

iBatis에서 resultMap을 사용할때,

premitive type( 예:int )에 Null이 바인딩될때 BulkBeanException이 발생합니다.

반응형

컬럼을 생성할때 int Type 같은 경우는 not null 속성을 넣어 null이 들어갈수없게 하거나

resultMap을 설정할때 nullValue="0" 같이 기본값을 설정해야 합니다.

 

728x90

 

BulkBeanException은 iBatis(MyBatis)에서 CGLIB 라이브러리를 사용할 때 발생할 수 있는 예외입니다. 이 예외는 주로 객체의 프로퍼티나 메서드와 관련된 문제를 나타냅니다. 이 문제를 해결하기 위해 다음 단계를 따르십시오:

  1. 에러 로그 확인:
    • 먼저 에러 메시지와 스택 트레이스를 자세히 살펴봅니다. 어떤 클래스 또는 메서드에서 문제가 발생했는지 확인하십시오.
  2. iBatis(MyBatis) 설정 확인:
    • iBatis(MyBatis) 설정 파일에서 매핑된 SQL 매퍼 파일을 확인하십시오. 사용 중인 객체나 결과 객체에 대한 설정이 올바른지 확인합니다.
  3. Java Bean 규칙 준수:
    • iBatis(MyBatis)는 자바 빈 규칙을 기반으로 동작합니다. 객체가 자바 빈 규칙을 잘 따르는지 확인하십시오.
      • 클래스는 public이며, 매개변수가 없는 기본 생성자를 가져야 합니다.
      • 필드는 private이며, 접근자(getter, setter) 메서드를 제공해야 합니다.
      • 접근자 메서드의 이름은 표준 자바 빈 규칙에 따라야 합니다.
  4. 코드 검토:
    • 에러가 발생한 부분의 코드를 자세히 검토하십시오. 특히 해당 클래스의 프로퍼티나 메서드에 대한 부분을 확인합니다.
  5. CGLIB 버전 확인:
    • 사용 중인 CGLIB 라이브러리의 버전이 호환되는지 확인하십시오. iBatis(MyBatis)와 함께 사용되는 CGLIB 버전이 권장되는 버전과 일치하는지 확인합니다.
  6. 라이브러리 종속성 확인:
    • 프로젝트의 라이브러리 종속성이 충돌하지 않는지 확인하십시오. 여러 버전의 CGLIB가 클래스패스에 있을 경우 충돌이 발생할 수 있습니다.
  7. 최신 버전 사용:
    • 가능하면 iBatis(MyBatis) 및 CGLIB의 최신 버전을 사용하도록 업데이트해 보십시오.
  8. 기타 라이브러리 확인:
    • iBatis(MyBatis)와 관련된 라이브러리들이 업데이트되었는지 확인하고, 버전 간의 호환성을 고려하여 일관된 버전을 사용해 보십시오.

위의 단계를 따라도 문제가 해결되지 않는 경우에는 더 많은 정보와 코드를 제공하시면 더욱 구체적인 도움을 드릴 수 있습니다.

728x90
반응형