Resolvido - Erro ao salvar LocalDate

5 respostas Resolvido
java
Cleriston_Lincoln

pessoal mudei de calendar para LocalDate e esta com esse erro:

Field error in object 'emprestimo' on field 'dataEmprestimo': rejected value [02/06/2017]; codes [typeMismatch.emprestimo.dataEmprestimo,typeMismatch.dataEmprestimo,typeMismatch.java.time.LocalDate,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [emprestimo.dataEmprestimo,dataEmprestimo]; arguments []; default message [dataEmprestimo]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.time.LocalDate' for property 'dataEmprestimo'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.time.LocalDate] for value '02/06/2017'; nested exception is java.lang.IllegalArgumentException: Parse attempt failed for value [02/06/2017]]
Field error in object 'emprestimo' on field 'primeiraEmprestimo': rejected value [02/06/2017]; codes [typeMismatch.emprestimo.primeiraEmprestimo,typeMismatch.primeiraEmprestimo,typeMismatch.java.time.LocalDate,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [emprestimo.primeiraEmprestimo,primeiraEmprestimo]; arguments []; default message [primeiraEmprestimo]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.time.LocalDate' for property 'primeiraEmprestimo'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.time.LocalDate] for value '02/06/2017'; nested exception is java.lang.IllegalArgumentException: Parse attempt failed for value [02/06/2017]]

Codigo:

// data em que o dinheiro foi entregue
     private LocalDate dataEmprestimo;

 	// data em que deve ser pago a primeira parcela
     private LocalDate primeiraEmprestimo;

5 Respostas

Krismorte

Qual a versão do seu hibernate?

Cleriston_Lincoln

5

F

Me parece que há um problema na conversão da data em String para LocalDate.
Já verificou seus métodos de conversão?

Cleriston_Lincoln
Solucao aceita

Primeirapemte obrigado a todos que responderam, embora precisou de mais para resolver o problema, suas respostas colaboraram para minhas buscas.

Resolvendo o problema.

No meu caso tive que atualizar o pom.xml, pois as dependências automáticas do spring estavam defasadas para a versão java8.

Não se preocupe com duplicações, ele gerencia bem e omite a versão desatualizada.

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>

    </dependency>


		<!-- https://mvnrepository.com/artifact/javax.validation/validation-api -->
		<dependency>
			<groupId>javax.validation</groupId>
			<artifactId>validation-api</artifactId>
			<version>2.0.0.Beta2</version>
		</dependency>


		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-core</artifactId>
			<version>5.2.10.Final</version>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-entitymanager</artifactId>
			<version>5.2.10.Final</version>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-java8</artifactId>
			<version>5.2.10.Final</version>
		</dependency>

por fim na minha Entity:

// data em que o dinheiro foi entregue
	@DateTimeFormat(pattern="dd/MM/yyyy")	
	private LocalDate dataEmprestimo;

	// data em que deve ser pago a primeira parcela
	@DateTimeFormat(pattern="dd/MM/yyyy")	
	private LocalDate primeiraEmprestimo;
Benefrancis

Altere @DateTimeFormat(pattern=“yyy/MM/dd”) por

@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)

Criado 2 de junho de 2017
Ultima resposta 6 de fev. de 2020
Respostas 5
Participantes 4