Я использую MyBatis с Java. Могу ли я использовать несколько ids в карте результатов?Несколько идентификаторов в MyBatis resultMap - преимущества производительности?
Код
Мой класс Результат Java выглядит следующим образом:
public class MyClass {
private int id1;
private int id2;
private int total;
// getters & setters
}
В настоящее время мой MyBatis результат карта выглядит следующим образом:
<resultMap id="MyResult" type="MyClass">
<result property="id1" column="id1" />
<result property="id2" column="id2" />
<result property="total" column="total" />
</resultMap>
Этот результат используется карта в этом запрос:
<select id="mySelect" resultMap="MyResult" parameterType="Map">
select
id1,
id2,
sum(total) as total
from
myTable
group by
id1,id2;
</select>
Все работает нормально, но согласно документации MyBatis я должен использовать id, чтобы получить некоторую эффективность. Я хочу, чтобы изменить результирующую карту MyBatis к:
<resultMap id="MyResult" type="MyClass">
<id property="id1" column="id1" />
<id property="id2" column="id2" />
<result property="total" column="total" />
</resultMap>
Вопросы
- Будет ли она работать так же, как и раньше?
[Later Edit]: проверено, похоже, что оно не испортило группировки и строки, поэтому я бы сказал, что он работает по-прежнему и как и ожидалось.
- Принесите ли вы преимущества использования MyBatis с помощью id?
Где я смотрю, но не смог найти ответ
- MyBatis documentation - они не говорят, или дать пример подобной ситуации.
- Composite Key - однако у меня нет составного ключа, и я бы предпочел не модифицировать MyClass, чтобы создать идентификатор псевдокласса с id1, id2.