Bonjour à tous,

Je débute un peu dans l'utilisation de NetBeans mais j'ai lu beaucoup de docs et suivi des tutoriels aussi donc je commence à l'apprécier

Mon problème est le suivant :

Je travaille à la création d'un simple Panel (que j'intégrerai plus tard dans une fenêtre complète) permettant de modifier les données correspondant à une adresse postale (En gros : N°, rue, CP, Ville...).

Pour faire les choses dans l'ordre, j'ai commencé par créer ma table ADRESSE contenant les champs voulus.
J'ai ensuite utilisé NetBeans pour générer une Entity correspondant à un enregistrement de ma table.
Jusqu'ici, aucun problème.

J'ai utilisé l'éditeur graphique Matisse pour créer mon formulaire : très pratique pour créer une GUI !!!
Souhaitant exploiter le plus possible les fonctionnalités de Netbeans, je me suis inspiré des exemples et autres tutoriels afin d'utiliser un EntityManager, une Query, et une List dans l'objectif de mapper directement tous mes TextFields aux attributs de mon Entity Adresse mais là, il y a un truc qui me chagrine :

Le seul moyen que j'ai trouvé pour l'instant pour pouvoir mapper mes champs est de créer une entité d'Adresse dans mon Panel puis, une fois la requête qui lit mon Adresse effectuée, ajouter le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
// Tout ce code est généré par NetBeans, ce qui est parfait !
entityManager = Persistence.createEntityManagerFactory("Adresses_PU").createEntityManager();
query = entityManager.createNamedQuery("query.selectStructure");
 
// Pour la valeur de mon paramètre, on verra plus tard...
query.setParameter("id", 1);
 
// Généré par NetBeans également
listAdresse = ObservableCollections.observableList(query.getResultList());
 
// Code que j'ai du ajouter pour ne gérer qu'une entité
adresse = (Adresse)listAdresse.get(0);
Je ne trouve pas cela propre mais n'ai pas trouvé d'autre moyen pour pouvoir utiliser le mapping automatique qui est quand-même très pratique !

Quelqu'un sait-il s'il est possible d'indiquer à Matisse que la requête ne retourne qu'UN résultat et que c'est cet objet qu'on veut mapper sur les champs ??

D'une manière plus générale, cette gestion automatique du mapping n'est-elle possible "que" pour des tables de données (comme dans les exemples où la JTable est mappée sur la List retournée par la Query et où les champs de détail sont mappés sur les valeurs de la ligne sélectionnée dans la JTable) ou est-ce censé permettre de faire ce que je veux mais je n'ai pas trouvé comment ?

Merci d'avance et bonne soirée à tous !

PS : J'espère avoir été clair mais ce n'est pas si simple à expliquer ; n'hésitez pas à demander des détails s'il en manque !