Problema com lista de objeto com atributo do tipo LocalDate

2 respostas
spring
aprJava
Criei um campo do tipo LocalDate, salva normalmente  que na hora de buscar ele trás as datas com um dia a menos! no banco esta 2019/05/02 e na lista de pesquisa apresentada na tela aparece 2019/05/01 alguém sabe o que pode ser?

    atributo no model

@Column(name = "data_vencimento")
	private LocalDate dataVencimento;

pesquisa no controlle

@GetMapping
	public ModelAndView pesquisar(FinanceiroFilter financeiroFilter, BindingResult result,
		@PageableDefault(size = 10) Pageable pageable, HttpServletRequest httpServletRequest){
		ModelAndView mv = new ModelAndView("financeiro/PesquisaContas");
				PageWrapper<Financeiro> paginaWrapper = new PageWrapper<>(financeiros.filtrar(financeiroFilter, pageable)
				, httpServletRequest);
		mv.addObject("pagina", paginaWrapper);
		return mv;

metodo na interface para implementação customizados (classe queries)
public Page<Financeiro> filtrar (FinanceiroFilter filtro,  Pageable pageable);

metodo customizado (classe impl)

@SuppressWarnings("unchecked")
	@Transactional(readOnly=true)
	@Override
	public Page<Financeiro> filtrar(FinanceiroFilter filtro, Pageable pageable) {
		Criteria criteria = manager.unwrap(Session.class).createCriteria(Financeiro.class);
		paginacaoUtil.preparar(criteria, pageable);
		adicionarFiltro(filtro, criteria);
		
		return new PageImpl<>(criteria.list(), pageable, total(filtro));
		
		
	}
	
table onde chamo a pesquisa! 

<tr th:each="financeiro : ${pagina.conteudo}">
						<td class="text" th:text="${financeiro.tipoFinanceiro.descricao}">Fixa</td>
						<td class="text" th:text="${financeiro.cliFornecedor.nome}">Jõao da silva</td>
						<td class="text" th:text="${financeiro.descricao}">Um litro de pinga</td>
						<td class="text-right" th:text="|R$ ${{financeiro.valor}}|">R$ 8.00</td>
						<td class="text" th:text="${financeiro.tipoDespesa.descricao}">encomenda</td>
						<td class="text-right" th:text="|R$ ${{financeiro.frete}}|">R$ 8.00</td>
						<td class="text" th:text="${financeiro.statusLancamento.descricao}">Fixo</td>
						<td class="text-right" th:text="|R$ ${{financeiro.saldoReceber}}|">R$ 8.00</td>
						<td class="text" th:text="${financeiro.dataVencimento}">21/02/2019</td>
						<td class="text-center">
							<a class="btn  btn-link  btn-xs  js-tooltip" title="Editar" 
							th:href="@{/financeiros/{codigo}(codigo=${financeiro.codigo})}">
									
								<i class="glyphicon glyphicon-pencil"></i>
							</a>
						</td>
					</tr>
					
				</tbody>

2 Respostas

darlan_machado

No banco está correto?

aprJava

Sim, fiz buscas SQL direto no banco para conferência, salvando corretamente busca SQL TB busca correto… Quando busco pelo filtro de data x a data y vem todos da data referente, porém na tela mostra com um dia a menos… Exemplo: de 02/05/2019 a 02/05/2019 ele me trás essas datas realmente, só que mostra na tela 01/05/2019. Ou seja faz a busca como tá no banco, mas mostra na tela um dia a menos. E apenas do tipo localDate fiz teste com tipo LocalDateTime e ele apresenta a data correta… Porém não quero mostrar data e hora apenas data.

Criado 17 de maio de 2019
Ultima resposta 17 de mai. de 2019
Respostas 2
Participantes 2