I'm upgrading from Play 2.4.8 to 2.5.12 and upgrading the sbt-play-ebean plugin from 2.0.0 to 3.0.0 (ebean 6.18.1). Primary keys are stored as UUID in my java models, and VARCHAR in postgres.
Anytime I try to find or save an object I get the following exception ClassCastException:
java.lang.ClassCastException: java.lang.String cannot be cast to java.util.UUID
at com.avaje.ebeaninternal.server.type.ScalarTypeUUIDNative.read(ScalarTypeUUIDNative.java:42)
at com.avaje.ebeaninternal.server.type.ScalarTypeUUIDNative.read(ScalarTypeUUIDNative.java:17)
at com.avaje.ebeaninternal.server.deploy.BeanProperty.read(BeanProperty.java:581)
at com.avaje.ebeaninternal.server.deploy.id.IdBinderSimple.readSet(IdBinderSimple.java:169)
at com.avaje.ebeaninternal.server.query.SqlTreeNodeBean.load(SqlTreeNodeBean.java:237)
at com.avaje.ebeaninternal.server.query.CQuery.readNextBean(CQuery.java:431)
at com.avaje.ebeaninternal.server.query.CQuery.hasNext(CQuery.java:512)
at com.avaje.ebeaninternal.server.query.CQuery.readCollection(CQuery.java:543)
at com.avaje.ebeaninternal.server.query.CQueryEngine.findMany(CQueryEngine.java:302)
at com.avaje.ebeaninternal.server.query.DefaultOrmQueryEngine.findMany(DefaultOrmQueryEngine.java:94)
I can't be the first to come across this but I can't find this addressed anywhere online.