Comment puis-je mapper lignes de deux tables qui renvoie l'autre?
par exemple comme ceci:
public class TwoTablesRowMapper implements RowMapper<Map<String, Object>> {
/**
* Map data from select over 2 tables e.g.:
*
* select
* A.foo as afoo,
* B.bar as bbar
* from PARENT A,
* CHILD B
* where A.ID = B.ID
*
*
* @param rs
* @param rowNum
* @return
* @throws SQLException
*/
public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
Map<String, Object> resultMap = new HashMap<String, Object>();
// instead of a map one could fill an object
// e.g.: myObject.set.afoo(afoo)
resultMap.put("afoo", rs.getString("afoo"));
resultMap.put("bbar", rs.getString("bbar"));
return resultMap;
}
}
pour la partie SQL je vous recommande de créer une nouvelle question avec les détails SQL spécifiques (tables, relations, etc.) et sql tagged, il devrait trouver plus (sql-savvy) viewers de cette façon
'RowMapper' fonctionne sur les résultats, pas sur les tables. Vous devez écrire le SQL correct, puis mapper le jeu de résultats à plat comme vous le souhaitez. – skaffman