Query q = this.getEntityManager().createQuery("SELECT e FROM TipoPessoaBean e WHERE e.dataExclusao = ?1 AND e.numrAplicavel = ?2");
q.setParameter(1,(Date) null);
console:
Internal Exception: org.postgresql.util.PSQLException: ERROR: operator does not exist: timestamp without time zone = character varying
Dica: No operator matches the given name and argument type(s). You might need to add explicit type casts.
O fato de você estar fazendo cast de um objeto com referencia nulo é normal, e não há problema algum nisso.
A mensagem de erro é:
Internal Exception: org.postgresql.util.PSQLException: ERROR: operator does not exist: timestamp without time zone = character varying
Dica: No operator matches the given name and argument type(s). You might need to add explicit type casts.
Ou seja, você está declarando um campo como Date, porém no banco de dados está definico como varchar. Seu campo deve ser igual tanto no Java como no banco. No caso, altere o campo de character varying para date.
Outra coisa, você está mesmo usando PGSQL ou seu dialect está incorreto?