Olá Pessoal, tenho o seguinte cenário:
Tenho um relacionamento ManyToMany e quero relacionar duas classes.
Exemplo: Aluno () ------- () Matéria. Muitos alunos podem ter muitas matérias.
Fiz um selectOneMenu da classe Aluno apontando para o relacionamento manyToMany:
<p:selectOneMenu id="alunoCB" value="#{alunoBean.aluno.materias}" converter="MateriaConverter">
<f:selectItems noSelectionValue="Selecione" value="#{materiaBean.materias}" var="matSelect" itemValue="#{matSelect}" itemLabel="#{matSelect.nome}" />
</p:selectOneMenu>
PS.: O Converter está definido
Quando eu sobmeto isso ele me retorna o seguinte erro.
Caused by: java.lang.ClassCastException:modelo.Materia cannot be cast to java.util.Collection
Ao meu ver o JSF está tentando converter o objeto que se encontra em “#{matSelect}” (que é do tipo Matéria) em um ArrayList<Matéria>. Quando eu queria que ele fizesse o add no ArrayList que já existe …
@ManyToMany
private List<Materia> materias = new ArrayList<Materia>();
Utilizando um objeto Materia na classe eu já consegui fazer e também pegando o objeto selecionado e setando diretamente no arrayList já consegui fazer. Gostaria de saber se existe alguma forma de fazer como citado acima.
Muito obrigado pela ajuda desde já