Olá pessoal,
Minha aplicação Java precisa realizar a seguinte operação:
- Durante um ano de uso, o software precisa armazenar dados num histórico do Banco de Dados. No final deste período (1 ano), o histórico deverá ser apagado automaticamente, assim que o software for iniciado. Isso se realizará sucessivamente.
Tem alguma API específica que resolva este meu problema? Pensei em resolver com Calendar. Dá certo?
Outra coisa: se usar Calendar (ou GregorianCalendar), o melhor é colocar um if verificando se passou 1 ANO ou 365 dias da última operação? E se o ano for de 366 dias?
Alguém pode me ajudar?
Obrigado!
Você pode verificar se o dia e o mês são iguais (ignorando o ano) caso sejam apague o registro
Também poderia ser feito algo assim, excluir tudo com data anterior a atual trocando o ano pelo anterior:
[code]Calendar data = Calendar.getInstance();
data.set(Calendar.YEAR, data.get(Calendar.YEAR)-1);
PreparedStatement stmt = conexao.prepareStatement"delete from tabela where data <= ?");
stmt.SetDate(data);
stmt.execute();[/code]
Obs. supondo JDBC, senão é só adaptar para sua ferramenta ORM.
[quote=jamirdeajr]Também poderia ser feito algo assim, excluir tudo com data anterior a atual trocando o ano pelo anterior:
[code]Calendar data = Calendar.getInstance();
data.set(Calendar.YEAR, data.get(Calendar.YEAR)-1);
PreparedStatement stmt = conexao.prepareStatement"delete from tabela where data <= ?");
stmt.SetDate(data);
stmt.execute();[/code]
Obs. supondo JDBC, senão é só adaptar para sua ferramenta ORM. [/quote]
boa