Jsf - Cannot convert a of type

Estou com um problema para listar o usuário que é ativo ou não…

erro:
/cadastro/usuario/listar.xhtml @59,87 rendered="#{usuarioDTO.ativo == ‘a’}": Cannot convert a of type class java.lang.String to class java.lang.Long

<h:column> <f:facet name="header"> <h:outputText value="Ativo" /> </f:facet> <h:outputText value="Ativo" rendered="#{usuarioDTO.ativo == 'a'}"></h:outputText> <h:outputText value="Inativo" rendered="#{usuarioDTO.ativo == ''}"></h:outputText> </h:column>

No meu banco já tentei char(1) e varchar(1)…

Alguma sugestão? Obrigado.

qual é o tipo de dado da variavel ‘ativo’ da ManagedBean usuarioDTO? aparentemente é Long e você está passando String. simples assim.

Agradeço a resposta, se puder me ajudar, faz 2 dias que estou nisso… :frowning:
Olha só, tenho a classe DTO com as seguintes informações para:

private char ativo;

public char getAtivo() {
   return ativo;
}

public void setAtivo(char ativo) {
   this.ativo = ativo;
}

public boolean getStatus(){
   return getAtivo()=='a';
}

public void setStatus(boolean status){

   setAtivo( status?'a':'i');
}

Depois tenho a lista que recebo assim:

<p:dataTable value="#{usuario.listar}" var="usuarioDTO" border="1">

Depois aquele código que postei anteriormente,

Meu listar vem assim:

public List getListar() {

        List lista = new ArrayList();
        try {
            UsuarioDAO usuarioDAO = new UsuarioDAO();
            lista = usuarioDAO.listar();
        } catch (SQLException ex) {
            Logger.getLogger(Usuario.class.getName()).log(Level.SEVERE, null, ex);
        }
        return lista;
    }

Que faz isso:

public List listar() throws SQLException {

        String sql = "select u.usuario_ID, u.nome, u.salario, u.sexo, u.dataNascimento, u.ativo, u.cargo_id, "
                + " c.descricao from usuario u "
                + " inner join cargo c on c.cargo_id = u.cargo_id";

        ResultSet rs = database.getConnection().createStatement().executeQuery(sql);
        List listaUsuario = new ArrayList();
        while (rs.next()) {
            listaUsuario.add(preencherUsuarioDTO(rs));
        }

        rs.close();
        database.getConnection().close();
        return listaUsuario;
    }

e que complementa isso:

private Object preencherUsuarioDTO(ResultSet rs) throws SQLException {
        UsuarioDTO usuarioDTO = new UsuarioDTO();
        usuarioDTO.setUsuario_ID(rs.getInt("usuario_ID"));
        usuarioDTO.setNome(rs.getString("nome"));
        usuarioDTO.setAtivo(rs.getString("ativo").charAt(0));
        usuarioDTO.setDataNascimento(rs.getDate("dataNascimento"));
        usuarioDTO.setSalario(rs.getDouble("salario"));
        usuarioDTO.setSexo(rs.getInt("sexo"));
        usuarioDTO.getCargoDTO().setCargo_id(rs.getInt("cargo_id"));
        usuarioDTO.getCargoDTO().setDescricao(rs.getString("descricao"));

        return usuarioDTO;

    }

Por que você não cria um método chamado isAtivo na sua classe? Esse método retornaria apenas true/false e você já poderia utilizar diretamente na tag do jsf:
rendered="#{usuarioDTO.ativo}"

Esse é um conceito chamado diga e não pergunte: Diga, não pergunte!.