Поля Morphia и Shared в документах коллекции содержат разные типы данных. - PullRequest
0 голосов
/ 27 мая 2020

У меня есть коллекция и документы в ней, такие же поля. Но некоторые поля имеют разные типы. Например, поле «Роль» - это массив объектов в первом документе и обычный массив во втором. Как Морфия работает с такими примерами? Как я могу прочитать документ из базы данных?

Если поле Роль одного типа во всех документах (тип запроса Query query = datastore. createQuery (ScheduleData .class); List schedules = query.find().toList();) работает очень хорошо. Если отличается:

error java.lang. RuntimeException: java.lang. ClassCastException: java.lang.String cannot be cast to com.mongodb.DBObject

1 Ответ

0 голосов
/ 27 мая 2020

Вы должны объявить эти поля как Object в своей сущности. Morphia будет / должна декодировать в правильный тип перед назначением полю, но нет общего родительского типа String и Document, кроме Object.

...