Bonjour à tous,

J'ai un petit problème (de configuration ?) sur Hibernate. Je m'explique:
J'ai une table 'Operator' et une table 'OperatorGroup', un operator étant dans un ou aucun group et un group pouvant évidement contenir plusieurs operators.

Voici la config hibernate:

OperatorGroup:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<class name="OperatorGroup" table="OperatorGroup">
    ...
    <set name="operators" cascade="all" lazy="true" inverse="true">
        <key column="operatorGroupId"/>
        <one-to-many class="Operator"/>
    </set>
</class>
Operator:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
<class name="Operator" table="Operator">
    <many-to-one name="operatorGroup" insert="true" update="true" not-null="false" class="eu.bluepimento.mcl.vom.model.OperatorGroup" lazy="proxy" cascade="none">
        <column name="operatorGroupId"/>
    </many-to-one>
</class>
Le problème c'est que si j'atoute un operator (existant) à la un group (existant aussi) en faisant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
monOperator.setOperatorGroup(monGroup);
monGroup.getOperators().add(monOperator);
getHibernateTemplate().merge(operatorGroup);
//save operatorGroup
Ca fonctionne parfaitement, l'operator se voit bien attribuer le groupId en DB.

Par contre si je fais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
monOperator.setOperatorGroup(null);
monGroup.getOperators().remove(monOperator);
getHibernateTemplate().merge(operatorGroup);
//save operatorGroup
Ca ne fonctionne pas, mon operator garde toujours son lien vers le group !
Si j'enlève l'inverse="true" dans OperatorGroup ça fonctionne, mais est-ce normal ?

Je ne veux evidement pas m'amuser à sauver les operators en plus du group.

Merci d'avance,