[hibernate]many-to-many petit problème
Bonjour, j'ai un ptit probleme que je ne sais pas comment résoudre
La base de donnée
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
Mysql
-->Person
id
nom
prenom
age
-->person_manga
id
id_person
id_manga
-->Manga
id
auteur
nom
editeur |
*j'ai fait expres de nommé les clé de chaque id et d'ajouter une clé id a la table de liaison . C'était pas util sur mon test , mais j'ai un projet en prod qui a ce genre de table .
Mon probleme se situe sur un many-to-many a partir d'une personne j'aimerais récupéré un Set de manga.
dans le class de person
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
<class
name="com.jeux2role.manga.beantable.Person"
table="person"
>
<id
name="Id"
type="integer"
column="id"
>
<generator class="native"/>
</id>
<property
name="Age"
column="age"
type="integer"
not-null="true"
length="11"
/>
<property
name="Nom"
column="nom"
type="string"
not-null="true"
length="255"
/>
<property
name="Prenom"
column="prenom"
type="string"
not-null="true"
length="255"
/>
<set name="mangas" table="person_manga">
<key column="id_person"/>
<many-to-many column="IdManga" class="com.jeux2role.manga.beantable.Manga"/>
</set>
</class>
</hibernate-mapping> |
apres exécution, la requete généré donne ceci
Code:
1 2
|
Hibernate: select persons0_.id_manga as id3_1_, persons0_.IdPerson as IdPerson1_, person1_.id as id2_0_, person1_.age as age2_0_, person1_.nom as nom2_0_, person1_.prenom as prenom2_0_ from person_manga persons0_ left outer join person person1_ on persons0_.IdPerson=person1_.id where persons0_.id_manga=? |
Hors il me renvoi le id_manga et le id_person de la table person_manga , sachant que je ne voulait recuperer que les champs de la table manga, pour bien remplir le bean qui va avec manga.
quelqu'un aurait une solution ?
Merci d'avance