Bonjour à tous,
sur mon projet actuel, nous utilisons iBatis et nous avons rencontré le cas suivant:
- 1 table "Projects"
- 1 table "Users"
- plusieurs relations 1-1 entre les deux. concrètement, 1 user "admin" par projet, 1 user "DBA" par projet, 1 user "responsible", etc...
Lorsque l'on charge un projet, nous faisons des jointures afin de récupérer les données des différents Users (select from Projects left outer join users admin ON admin.id = project_admin_id, left outer join users dba ON dba.id = project_dba_id, etc)
Nous recevons donc un resultset qui a la forme suivante:
Comme vous le voyez, la DB (Oracle) renomme les différents champs, ce qui est normal...PR_ID ¦ PR_NAME ¦ PR_BLABLA ¦ USRID ¦ USERNAME ¦ USRID_1 ¦ USERNAME_1 ¦ ....
Comment exprimer cela avec un mapping, pour que les données se retrouvent respectivement dans les bons Users??
Actuellement, ça balance une exception genre "SQLException: column not found" car les resultMap sont configurées pour accepter le nom "USERID" et pas "USERID_1".
PS: on a trouvé un workaround en dupliquant les resultMap, mais c'est très moche et impossible à maintenir et à faire évoluer....
Merci d'avance!!
Partager