Индекс массива адресов в iBATIS 2 - PullRequest
0 голосов
/ 12 октября 2011

Возможно ли адресовать массив по индексу в sqlmap?

То, что я хочу, это:

class A {
  String[] foo = {"",""};
}

<resultMap id="someResultMap" class="A">
    <result property="foo[0]" column="COLUMN_Y" />
    <result property="foo[1]" column="COLUMN_X" />
</resultMap>

Если я попытаюсь, я получу:

There is no WRITEABLE property named 'foo[0]' in class 'A'

1 Ответ

0 голосов
/ 12 октября 2011

Невозможно установить значение для массива по индексу в sqlmap, потому что iBatis использует setter для записи значения. Вы должны иметь сеттер для вашей собственности, чтобы использовать его в карте SQL.

Я бы предложил создать свойство в вашем классе для coulumnX и columnY. Если вы все еще хотите, чтобы массив использовался в классе, вы можете немного поработать в своем классе, как показано ниже.

class A {
String[] foo = {"",""};
String col1;
String col2;
//have getter and setter for col1 and col2

getFoo(){
foo[1] = getCol1();
foo[2] = getCol2();
return foo;
}

}

<resultMap id="someResultMap" class="A">
<result property="col1" column="COLUMN_Y" />
<result property="col2" column="COLUMN_X" />
</resultMap>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...