O número inteiro não pode ser convertido em booleano

Então, JPA guarda o boolean java sendo, 0 false, 1 true, que na pratica é um selectBooelanCheckBox, quando tento atualizar o selectBooleanCheckBox com os dados guardados na tabela, lança essa exceção: java.lang.Integer cannot be cast to java.lang.Boolean

private void atualizaEstuCha(List<String> alunos, List<Boolean> presencas_bool){
    EstuChaEntity e = new EstuChaEntity();

    for(int i=0; i<alunos.size(); i++) {
        e.setNome_estunte(alunos.get(i));
        **e.setPresenca(presencas_bool.get(i));**
        this.estu_cha.add(e);
    }
}

Alguém sabe a solução para esta questão?

Como está o atributo presenca da sua classe EstuChaEntity?

Boolean!

Na verdade eu uso a classe EstuChaEntity só para listar uma List de objetos EstuChaEntity no REPEAT ou FOREACH, mas quando cadastro a FerquenciaEntity é uma lista nome_alunos, List presenca,

Bom, eu acho que esta passando um valor maior q 1 em

e.setPresenca(presencas_bool.get(i));

Então, o selectBooleanCheckBox, envia true ou false, ai vai para o JPA na tabela fica: 0 ou 1, neste método ai eu recrio um objeto EstuChaEntity, para adicionar em uma list e postar forEach, para atualizar a chamada, ai da esse erro, creio que o selectBooleanCheckBox recebe true ou false, mas vem da tabela: 0 ou 1

Pois acho q é ai o problema… seu atributo presenca é boolean, o checkbox do JPA q aceita 0 ou 1, o atributo do java não.

Tentei fazer isso! Vou tentar denovo!

posta aqui o metodo da classe q tem esse boolean

 @Id 
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    
    private String nome_chamada;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date data_frequencia;
    @ElementCollection
    private List<String> alunos;
    @ElementCollection
    private List<Boolean> presencas;

Na entidade está assim!

O método alterdo ficaria assim:

 private void atualizaEstuCha(List<String> alunos, List<Boolean> presencas_bool){
           EstuChaEntity e = new EstuChaEntity();
           for(int i=0; i<alunos.size(); i++){
               e.setNome_estunte(alunos.get(i));
               if(presencas_bool.get(i)){
                  e.setPresenca(true);
               }else{
                  e.setPresenca(false);
               }
               this.estu_cha.add(e);
           }
    }

No bean tem a lista:

 public List<Boolean> getPresencas() {
        return presencas;
    }

    public void setPresencas(List<Boolean> presencas) {
        this.presencas = presencas;
    }

Na classe EstuChaEntity:

public boolean isPresenca() {
        return presenca;
    }

    public void setPresenca(boolean presenca) {
        this.presenca = presenca;
    }

os valores que estao vindo nessa lista e boolean ou 0/1

Alunos é String o nome dos alunos, boolean está retornando 0 ou 1!

Obrigado pela ajuda!
Vou mudar o conceito, vou tentar converter e inserir duas lista de string!