La cartographie d'un ensemble d'Oracle CURSEUR (ResultSet) avec myBatis

Est-il possible de mapper un imbriquée java.sql.ResultSet dans un myBatis resultMap?

Par exemple. Dire que j'ai une procédure de mappage défini comme suit:

 <select id="selectBlog" statementType="CALLABLE">
        {call getCarsByYear(
           #{year,jdbcType=INTEGER,mode=IN},
           #{results, jdbcType=CURSOR, mode=OUT, javaType=java.sql.ResultSet, jdbcType=CURSOR, resultMap=cars}
        )}
    </select>

Et mon mappeur. qui renvoie une liste d'objets de voiture, mais également une liste de concessionnaires (le CURSEUR imbriqué):

<resultMap id="cars" type="some.package.Car">
   <result property="name" column="car_name">
   <!-- here is my problem -->
   <collection property="dealerships" column="dealerships_rf" ofType="some.package.Dealership">
       <result property="model" column="model" />
       <result property="year" column="year" />
</resultMap>

<!-- dealership resultMap of type some.package.Dealership -->

Problème ici est que, quand je inspecter l'résultant objet java dealerships est une Liste vide.

J'ai écrit quelques plain old java.sql JDBC code et il a bien fonctionné. Cany quelqu'un me mettre sur le droit chemin? Je suis complètement perdu avec celui-ci.

Merci d'avance.

Ici est le SQL de sortie:

Car
|name  |dealerships|
|nissan|ref_cursor|

Dealership
|location     |established|....
|....         |1974       |...

Voitures modèle:

public class Car {

 private String name;
 private List<Dealership> dealerships;

 //getters & setters ...

}

public class Dealership {

  private String model;
  private Integer year;

  //getters & setters ...
}
mise à jour de la description de donner un peu plus d'informations autour de la question. @diziaq
S'il vous plaît, ajoutez le code PL/SQL de la procédure de "getCarsByYear'.

OriginalL'auteur JohnStrong | 2015-11-05