Lorsque plusieurs colonnes ou expressions apparaissent dans une liste de sélection de l'instruction SELECT, alors que, dans certains cas, il ne peut y avoir aucune transformation naturelle des colonnes sélectionnées en une classe de bean existante, une transformation naturelle a souvent lieu. Dans de nombreuses applications, une liste de sélection de l'instruction SELECT accède exactement aux données nécessaires pour renseigner (en totalité ou partiellement) une instance de la classe de bean existante.
Par exemple, la liste de sélection de l'instruction SELECT suivante fournit les données nécessaires pour renseigner en totalité une instance de la classe de bean com.company.Employee.
SELECT EMPNO, FIRSTNME, MIDINIT, LASTNAME, WORKDEPT, PHONENO, HIREDATE FROM HRDept.Employee
Le bean utilise la définition suivante :
public Employee { @Column(name="EMPNO") public String employeeId; @Column(name = "FIRSTNME") public String firstName; @Column(name = "MIDINIT") public String middleInitial; public String lastName; @Column(name = "WORKDEPT") public String departmentId; @Column(name = "PHONENO") public String extension; public Date hireDate; }
Les annotations @Column de la classe cible fournissent les informations nécessaires pour associer les colonnes de la liste de sélection à leurs propriétés respectives ; aucune annotation @Column n'est spécifiée pour lastName ou hireDate, car ces propriétés correspondent aux noms des libellés des colonnes respectives du tableau HRDept.Employee.