Pessoal, estou tentando mapear um relacionamento entre tabelas, usei o hibernate tools e obtive o seguinte resultado
<set name="roles" inverse="true" table="users_x_role">
<key>
<column name="fk_users" not-null="true">
<comment></comment>
</column>
</key>
<many-to-many entity-name="br.com.peopleway.model.persistence.to.Role">
<column name="fk_role" not-null="true">
<comment></comment>
</column>
</many-to-many>
</set>
Porem ao inves de usar Set, eu preferia trabalhar com List, pois o maior problema do Set que eu vi é que eu nao consigo coletar os objetos existentes dentro dessa colecao, por exemplo eu nao consigo fazer isso
Users user = (Users) getSession().get(Users.class, arg.getPkUsers());
Set rolesOfUser = user.getRoles();
for(int index = 0; index < rolesOfUser.size(); index++){
Role roleOfUser = (Role) rolesOfUser.get(index); //Erro pois isso nao exite
}
Agora se eu tivesse mapeado com List eu ja poderia fazer isso:
Users user = (Users) getSession().get(Users.class, arg.getPkUsers());
List rolesOfUser = user.getRoles();
for(int index = 0; index < rolesOfUser.size(); index++){
Role roleOfUser = (Role) rolesOfUser.get(index);
}
Alguem sabe como mudar o mapeamento acima para list ? Existe vantagens entre usar Set os invez de List ?
eu tentei a seguinte alteração mas nao obtive sucesso:
<list name="roles" inverse="true" table="users_x_role">
<key>
<column name="fk_users" not-null="true">
<comment></comment>
</column>
</key>
<many-to-many entity-name="br.com.peopleway.model.persistence.to.Role">
<column name="fk_role" not-null="true">
<comment></comment>
</column>
</many-to-many>
</list>
Desde já muito obrigado