Olá!
Minha dúvida é a seguinte:
Tenho um calendário feito com <rich:column e <h:selectBooleanCheckbox .
Quando seleciono uma data e clico em “salvar”, ele deve comparar no banco de dados se já existe esta a data
marcada. Se existir, eu deleto as duas datas (eh isso mesmo deleto as DUAS datas…).
Problemas:
- Na hora de comparar as datas, ele deve comparar duas listas, uma auxiliar, que guarda as datas que acabei de marcar e uma
lista com as datas que existem no banco. O que ocorre é que ele pega datas que não existem no banco, como “31/12/1969” e datas
com ano errado como “21/02/3911”.
- Erro para salvar. Quando não há o que comparar, quando não existe nenhuma data salva no banco, ele da
“Caused by: org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save():”
Alguém tem alguma idéia para qualquer um desses problemas?
Obrigada.
1- Veja como está a formatação na hora de criar o date, pode ser por isso os valores estranhos, ou coloca o codigo ai para ajudar, pq assim apenas da para supor o que acontece.
2- Qual a id da classe? Pelo erro, ela está sem ser gerada automaticamente, e quando tu está dando o save ela vai null, por isso o erro.
Pode alterar para ser geração automatica, ou antes de salvar de uma chave de identificação.
Olá!
-
Aqui ele inicializa a data normalmente…
@Column(name="DATA", nullable=false)
@Type(type="date")
private Date data = new Date(System.currentTimeMillis());
Aqui eu inicializo uma lista de meses, de dias da semana e uma lista auxiliar
List<Mes> listaMeses = bean.getCalendario().getListaMeses();
List<DiasSemana> listaDiasSemana;
List<Date> listaAux = new ArrayList<Date>();
O erro ocorre aqui:
for (int i = 0; i < bean.getListaDatasNoBanco().size();i++){
for (int j = 0; j < listaAux.size(); j++){
if(bean.getListaDatasNoBanco().get(i).getData().equals(listaAux.get(j))){ //Aqui ele coloca o ano como 3911
listaDate.remove(j);
bean.getListaDatasNoBanco().remove(i);
}
}
Eu tenho q inicializar List listaAux = new ArrayList(); ?
Obrigada