2011-12-16 1 views
2

다음과 같은 시도를했습니다.MyBatis로 bytea 열에서 byte []를 어떻게 얻을 수 있습니까?

nested exception is org.apache.ibatis.reflection.ReflectionException: 
Error instantiating class [Ljava.lang.Byte; with invalid types() or values(). 
Cause: java.lang.NoSuchMethodException: [Ljava.lang.Byte;.<init>() 
at ... 
: 그것은에 대한 단위 테스트를 실행하려고 여기에 내가 가진 오류가

public byte[] getTypicalTaskMeasurementParameterValue(
    Integer typicalTaskMeasurementId); 

그리고 다음은

<select id="getTypicalTaskMeasurementParameterValue" 
      parameterType="Integer" 
      resultType="byte[]"> 
    SELECT value 
    FROM typical_task_measurements_parameter_values 
    WHERE id_typical_task_measurement = #{typicalTaskMeasurementId} 
</select> 

은 방법 : 여기

쿼리 매핑

또한이 직원에 대한 setter 메서드는 괜찮습니다.

답변

2

오류 메시지가 문제를 잘 나타냅니다. java.lang.Byte에는 기본 생성자가 없습니다.

사용할 생성자를 선택하거나 사용자 고유의 TypeHandler를 구현할 결과 맵이 필요합니다.

+0

고맙습니다. 이러한 일반적인 상황에서 커스텀 핸들러를 쓰는 경향이 있지만, JSON 데이터가이 열에 있기 때문에 특별한 경우에는 어쩌면 좋을 수도 있습니다. 그래서, 나는이 해결책을 확인하고 당신의 대답을 승인 할 것입니다. –