Bonjour,
débutant avec Léonardi studio, j'ai utilisé Metadata pour découvrir la structure d'une BD MySQL
J'ai ensuite créé le modèle métier pour les tables qui m'intéressent, entre autres ces 3 là :
La première table contient une liste de sociétés, la troisième une liste de projets et celle du milieu est une table de jointure entre les deux autres.
Cela crée donc les 3 classes Java correspondantes, avec des attributs textuel ou numérique suivant les champs.
A partir de là j'ai créé une classe Equipement avec un attribut relation "Société" et un second attribut relation "Projet" dont les classes cibles sont respectivement sip_societes et sip_projets.
Et les attributs cibles seraient Nom_Societe et LIBELLE_PROJET. Je dis "seraient" car je n'ai pas trouvé comment les indiquer. J'ai essayé avec "modifier la liaison à la couche physique du champ" avec comme mode de liaison de données "liaison simple" et comme liaison physique une "liaison simple d'attribut" définie par l'identifiant de l'attribut cible dans "Liaison :" mais cela n'a pas l'air de marcher.
Il y a une voie détournée qui consiste à mettre la marque "name" sur l'attribut cible à afficher mais ça n'est clairement pas la bonne manière de faire et ne marche plus si l'on veut faire 2 relations sur 2 attributs cibles différents d'une même classe.
Hormis ce détail, ce que j'essaye de faire est de faire en sorte que, dans un formulaire de création d'un objet Equipement, on doive tout d'abord sélectionner le nom de la société, ce qui active ensuite le choix du projet, seuls les projets correspondant à la société choisie étant proposés.
Déjà je crois qu'il faut mettre "Société" dans "attribut relation contextuel" de l'attribut Projet.
Ensuite je pense qu'il faut indiquer à Léonardi comment sont liées les données, probablement avec un démon de jointure, ou peut-être une route bidirectionnelle, mais cela nécessite des champs relation absents des classes issues de métadata, mes différentes tentatives n'ont pas abouti.
Je vous serais reconnaissant si vous pouviez m'éclaircir sur la manière de faire. Merci d'avoir lu.
Partager