Mybatis resultmap pour mapper les valeurs de hachage de la carte de champ d'un modèle
Je suis en train de carte de créer un résultat de carte qui peuplent vehicleVO. Je veux une carte quelques colonnes pour vehicleDocuments HashMap. Je vais avoir les données pour être peuplé, également présent dans la même table.
public class VehicleVO implements Serializable {
public String vehicleId;
public String vehicleNumber;
public String model;
public Map<String, Date> vehicleDocuments;
public TransportVO transport;
public String distanceTraveled;
}
Je suis en train d'utiliser le fichier xml suivant pour la cartographie. Mais il ne semble pas fonctionner. J'ai un gettign cette erreur
"Le contenu de l'élément de type "resultMap" doit correspondre à
"(constructeur?,id*,résultat de*l'association*,collection*,discriminateur?)".
<resultMap id="BaseResultMap" type="com.svms.service.vo.VehicleVO">
<id column="vehicle_id" jdbcType="BIGINT" property="vehicleId" />
<result column="vehicle_no" jdbcType="VARCHAR" property="vehicleNumber" />
<result column="Model" jdbcType="VARCHAR" property="model" />
<association property="vehicleDocuments" javaType="java.util.HashMap">
<result column="FC" jdbcType="DATE" property="FC_TD" />
<result column="TAX" jdbcType="DATE" property="TAX_TD" />
<result column="Insureance" jdbcType="DATE" property="INSURANCE_TD" />
<result column="Form47" jdbcType="DATE" property="FORM47_TD" />
<result column="NC" jdbcType="DATE" property="NC_TD" />
</association>
<result column="total_distance" jdbcType="INTEGER" property="distanceTraveled" />
<result column="transport_id" jdbcType="BIGINT" property="transportId" />
</resultMap>
Si ma compréhension est correcte, Essayez de mapper un hashMap peut également être considéré comme une cartographie de l'association. Mais c'est une association uniquement. J'ai aussi essayé d'utiliser le <collection>
balise pour la cartographie. Toujours je reçois le même message d'erreur.
OriginalL'auteur om39a | 2012-11-25
Vous devez vous connecter pour publier un commentaire.
Vous aurez besoin de mettre en œuvre un ResultHandler de construire une table de hachage malheureusement.
Aussi, la DTD d'erreur que vous mentionnez est parce que les éléments doivent être avant que l'association des éléments.
OriginalL'auteur Andy
L'ordre des éléments sous "resultMap" devrait être maintenu tel que dicté par la DTD. Déplacer tous le 'résultat' des balises à comparaître devant les "association" de la balise.
OriginalL'auteur Seeta Somagani