J’ai 2 utilisateurs qui ont chacun leurs adresses email. Ces 2 utilisateurs ont le même groupe qui leur est associé que nous appellerons “G1”.
J’aimerais en java récupérer sous forme de liste les adresses email de ces utilisateurs à partir du groupe “G1”.
J’ai consulté la Javadoc, et je peux récupérer un groupe, mais je n’arrive pas à récupérer les adresses email des utilisateurs de ce groupe.
Le plus “propre” est d’utiliser les APIs Java des objets métier => l’objet Responsability filtré sur l’attribut ramené du nom du groupe rsp_group_id.grp_name pour récupérer la liste des row IDs des utilisateurs affectés au groupe puis l’objet User pour récupérer, pour chacun de ces row IDs, la valeur attribut email usr_email. Cette approche induira N+1 requêtes SQL s’il y a N utilisateurs (si N est faible ce n’est pas grave) mais ça sera didactique sur l’usage des APIs Java des objets métier.
Le plus “sale” mais le plus performant (1 seule requête SQL) c’est de faire directement la requête en base genre:
select u.usr_email
from m_user u, m_resp r, m_group g
where u.row_id = r.rsp_login_id
and g.row_id = r.rsp_group_id
and g.grp_name = 'MYGROUP'
Je précise que l’envoi de mails (ou autres types de notifications) aux membres d’un groupe est une feature standard au niveau des alertes qu’on peut, notamment, associer à une transition d’état sur un diagramme d’état
Si c’est ça que vous êtes en train de réécrire en code spécifique, je vous recommande de vous intéresser plutôt aux alertes paramétrables et, en l’occurrence, au paramétrage des destinataires des alertes: