Pessoal, bom dia!!
Estou desenvolvendo uma aplicação Web com Hibernate, JSF e JPA e estou tendo dificuldades para pegar um campo do tipo “Date” do MySQL.
Na minha aplicação, assim que a página abre, o sistema exibe um DataModel com todos os registros da tabela, no entanto, existe um campo do tipo “date” que, no MySQL tem como valor default “0000-00-00”… e o Java não reconhece esse data como um intervalo válido.
A minha dúvida não é O QUE fazer, mas sim, COMO fazer… ou seja, como fazer para obter e formatar a data que eu recebi como “0000-00-00” para um modo que o Java reconheça-a como um dado válido (por exemplo, NULL)…
Aqui está o meu método que faz essa consulta:
public DataModel getProCadastros(){
EntityManager em = getEntityManager();
if(isNsgSelected() == false && isNpSelected() == false && isClienteSelected() == false && isGerRespSelected() == false ){
try{
Query select = em.createQuery(" FROM ProCadastro as pCad ORDER BY nsg");
select.setMaxResults(getTamanhoArray()); // máximo de 20 registros
select.setFirstResult(getPrimeiroRegistro());
setModel(new ListDataModel(select.getResultList()));
} catch(Exception ex){
ex.printStackTrace();
addErrorMessage(ex.getLocalizedMessage());
} finally{
em.close();
}
} else {
try{
String SQL = " FROM ProCadastro as pCad WHERE pCad.nsg LIKE :nsg";
SQL += " AND pCad.np LIKE :np";
SQL += " AND pCad.cliente LIKE :cliente";
SQL += " AND pCad.gerResp LIKE :gerResp";
Query select = em.createQuery(SQL);
select.setParameter("nsg", busca +"%");
select.setParameter("np", busca +"%");
select.setParameter("cliente", busca +"%");
select.setParameter("gerResp", busca +"%");
select.setMaxResults(getTamanhoArray());
select.setFirstResult(getPrimeiroRegistro());
setModel(new ListDataModel(select.getResultList()));
} catch(Exception ex){
ex.printStackTrace();
} finally{
em.close();
}
}
return getModel();
}
Sei que dá pra usar o “SimpleDateFormat” ou algo do gênero, mas gostaria de saber como e onde usar…
Sei que é uma dúvida boba, mas começei a trabalhar com Java a menos de um mês e estou com essa dificuldade…
Atenciosamente,