BD-RO : recupération des Objet
Coucou tout le monde
Voila, j'ai un programme java qui se connecte à une base oracle (ça sa marche) sur laquelle j'ai besoin de récuperer les objets pour les manipuler avec java.
Mon soucis et que certains TAD définit au sein de oracle contiennent des liste de TAD également (qui sont des ArrayList<> dans ma classe).
Existe t-il une manière propre de récupérer ces listes de tad dans mon arraylist ( a partir du ResultSet) ou dois-je effectuer une nouvelle requete pour recuperer la liste de cette objet?
Exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11
| public class Niveau {
private String numero;
private Statut statut;
private ArrayList<Acquis> listeAcquis;
private String designation;
[...]
} |
le TAD d'oracle
Code:
1 2 3 4
| NUM_NIVEAU VARCHAR2(10)
DESIGNATION VARCHAR2(10)
LISTE_ACQUIS NTACQUIS
STATUT REF OF TSTATUT |
Donc moi j'ai une methode qui récupère la liste des niveau au sein de la table ONiveau que je stock dans un ResultSet . Ensuite je parcoure le ResultSet pour enregistrer dans ma liste niveau par niveau et remplir les attribut, mais je bloque pour les liste car je chercher une methode propre pour les récupérer
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| public ArrayList<Niveau> creerListeNiveaux() {
ConnectionBD con=null;
try {
con = ConnectionBD.getInstance();
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
ArrayList<Niveau> listeNiveaux = null;
Niveau niveau = new Niveau();
String req = "Select num_niveau, designation,liste_acquis,DEREF(statut).num_statut, from Oniveau";
ResultSet res = null;
try {
res = con.executeRequete(req);
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
while (res.next()){
niveau.setNumero(res.getString(1));
/*C'est ici que je sais pas comment récupérer la suite proprement*/
listeNiveaux.add(niveau);
}
} catch (SQLException e) {
e.printStackTrace();
} |
merci d'avance
Yann