Getting java.lang.String cannot be cast to java.lang.Long exception

I am getting this exception (java.lang.String cannot be cast to java.lang.Long) when I have the version field declared as String and annotated with org.springframework.data.annotation.Version

@Version
private String version;

Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long
02:20:35,571 INFO [stdout] (membershipChangeScheduler_Worker-2) at org.springframework.data.couchbase.repository.support.SimpleCouchbaseRepository.save(SimpleCouchbaseRepository.java:82) ~[spring-data-couchbase-4.4.0.jar:4.4.0]

The way the version field is being type casted has changed from spring-data-couchbase 3.2.x to 4.4.x in the save method (and probably other places as well which I might not be aware of)

4.4.x series: spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/SimpleCouchbaseRepository.java at 149473cf83b48de6225b1f33cfd92a724da90a51 · spring-projects/spring-data-couchbase · GitHub

3.2.x series: spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/CouchbaseTemplate.java at 2efdf39ede45c72dca2f3472b5b23a7723fe87a2 · spring-projects/spring-data-couchbase · GitHub

Is there something we can do to help us migrate from 3.x to 4.x by avoiding this error.

I responded on the ticket you opened - Getting java.lang.String cannot be cast to java.lang.Long exception · Issue #1949 · spring-projects/spring-data-couchbase · GitHub

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.