Мне нужен предварительный запрос, который будет выполнен для условия фильтра, и передайте результаты для фактической выборки.MyBatis @ Результирующая карта для объекта self вместо свойства
Select * from Table_a where id in (select id from Table_b where X=?)
MyBatis Mapper выглядит следующим образом
@Select("Select * from Table_a where id in (#{id, mode=IN, jdbcType=INTEGER})")
ClassA getA(Integer id);
@Select("select id from Table_b where X=#{xValue, mode=IN, jdbcType=VARCHAR}")
@Results(value = { @Result(property = "this", column = "ID", one = @One(select = "getA")) })
ClassA getAfromB(String xValue);
Как отобразить результат на весь объект вместо имени параметра?
Я знаю, что могу получить экземпляр класса B и использовать getter для ClassA. Есть ли прямой способ? или Способ добавления результатов фильтрации, как это доступно с myBatis?
почему вы не делаете это в одном выбрать? '@Выберите (« Выберите * из таблицы_а, где id в (выберите id из таблицы_b, где X = # {xValue, mode = IN, jdbcType = VARCHAR}) ") ClassA getA (Integer id);' – griFlo
Просто чтобы иметь больше фрагментированный подход и поддерживать отдельные таблицы вместе , когда изменения относятся к tableB dosenot, необходимо изменить в запросах с помощью таблицыA – Rajadurai