Olá comunidade, estou desenvolvendo um sistema java com Hibernate e banco de dados PostgreSQL.
Possuo uma classe com dois atributos do tipo Date, o prazoEntrega que deve ser preenchido e o dataInicial que deve ficar em branco até segunda ordem.
O cadastro funciona normalmente, porém na tela de listagem (com uma jTable) estou usando o seguinte código para carregar a tabela:
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
model.setNumRows(0);
List<OrdensFabricacao> ordens = new OrdensFabricacaoDAO().findAll();
SimpleDateFormat data = new SimpleDateFormat("dd/MM/yyyy");
for (OrdensFabricacao ordem : ordens)
{
model.addRow(new String[]{
""+data.format(ordem.getDataInicial()),""+data.format(ordem.getPrazoEntrega()),statusTable,ordem.getPlano().getDescricao()
});
}
Ao abrir a tela de listagem e carregar os dados, o Hibernate apresenta o seguinte erro:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at java.util.Calendar.setTime(Calendar.java:1106)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:955)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:948)
at java.text.DateFormat.format(DateFormat.java:336)
Inseri uma data direto no banco e listou normalmente, porém o erro ocorre quando está vazio.
Existe alguma forma de verificar um campo do tipo Date está vazio? Porque dai eu poderia fazer um IF e carregar para uma string antes de passar para o model.
Se fosse String era fácil, só usar o equals(""), mas não encontrei como se faz com tipo Date.