dúvida sobre o nó set - hibernate

Boa tarde…

Estou com dificuldade em entender o nó set, qual a diferença de mapear assim:

e assim:

<set name="alunos" table="Turma_has_Aluno">
     <key column="Turma_id"/>
     <many-to-one class="Aluno" column="Aluno_Pessoa_id"/>
</set>

Os dois exemplos que você citou têm usos bem diferentes, não atendem o mesmo objetivo. O mapeamento many-to-one serve para definir chaves estrangeiras (ou seja, descrevem na tabela principal um atributo que aponta para um registro específico de uma tabela associada), enquanto que o mapeamento set serve para definir coleções (ou seja, uma tabela principal contém registros “pai”, e de cada registro “pai” dependem vários registros “filhos” contidos numa tabela associada).