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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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