У меня JDB C Результат установлен как List<Object[]>
и нужно преобразовать его в List<ObjectType>
при загрузке Spring.
// Input Object Array returned by below code
List<Object[]> resultObj = query.getResultList();
// Ex
resultObj[0][0] = new Integer(10);
resultObj[0][1] = "Test";
resultObj[0][2] = "Hello";
// Need map resultObj to List<ObjectType> below type
class ObjectType {
//maps to Object[0]
private Integer x;
//maps to Object[1]
private String y;
//maps to Object[2]
private String z;
}
Поскольку объект [] имеет более 18 элементов, вместо сопоставления вручную каждый индекс в поле POJO, я пробовал использовать Dozer.
<mapping>
<class-a>java.lang.Object[]</class-a>
<class-b>com.ObjectType</class-b>
<field>
<a>this[0]</a>
<b>x</b>
</field>
<field>
<a>this[1]</a>
<b>y</b>
</field>
</mapping>
Я пробовал следовать этому ответу { ссылка }, но отображаемый объект вывода имеет значение ниже - такое же значение для всех полей и адресного пространства как значение
"x": "[Ljava.lang.Object;@2d716a1c",
"y": "[Ljava.lang.Object;@2d716a1c",
"z": "[Ljava.lang.Object;@2d716a1c",
Пожалуйста, предложите, есть ли какой-либо другой настраиваемый подход для этого.