2010-09-29 18 views
0

J'ai la classe User et la classe Country avec les tables respectives. Les données de la table de pays sont fixes. Je fais une table de correspondance User_Country (userid, countryid) et la cartographie suivante en classe utilisateurHibernate ne remplit pas les données de la table de mappage

@OneToMany(fetch=FetchType.EAGER) 
    @JoinTable(name = "User_Country", joinColumns ={ 
      @JoinColumn(name = "userid") 
     }, inverseJoinColumns = { 
      @JoinColumn(name = "COUNTRYID") 
    }) 
private Set<Country> country; 

Quand je persiste la classe utilisateur, il persiste avec succès les données utilisateur et insérer des données dans le tableau de correspondance (de user_country). C'est exactement ce que je veux, mais quand je trouve l'utilisateur en utilisant hql ('from user où userid =?') Et ensuite essayer d'obtenir maaping pays (qui est stocké dans la cartographie tableuser_country). Je n'ai reçu aucune donnée de user_country. Comment puis-je écrire une annotation pour qu'elle reçoive des données de user_country? Si je mets en cascade alors il met à jour la table de pays (qui est fixée) que je ne veux pas.

Répondre

0

Je ne suis pas trop sûr mais, essayez avec inverse = "false", car cela pourrait aider.