2017-01-15 3 views
1

Я использую Spring-boot + spring-data-rest + spring-data-mongodb, и у меня есть класс, который открывается через репозиторий, и я недавно обновился от 1.3.7 до 1.4.3. Выпуск весенней загрузки.Нет метаданных сопоставления для java.util.Date

Проблема заключается в том, если я оставить поле createdDate доступно ... Я получаю следующее сообщение об ошибке при проверке API

В прошлом году у меня был подобный проект, и он работал отлично с весной Ботинками 1.3.2, Ждет» t нужно реализовать какое-то пользовательское решение или настроить что-то еще.

Позже редактировать просто понижен до 1.3.2 ... та же ошибка ...

"Нет метаданных отображения не найдено для java.util.Date"

public class SomeMessage { 

@Id 
private String id; 

private Map<String,String> messageDetails; 

private String replyToId; 

private String contactFormId; 

//@CreatedDate 
private Date createdDate; 

//...getters, setters, what not 

} 

Позже редактировать 2 ... полный стек трассировки

org.springframework.data.mapping.model.MappingException: No mapping metadata found for java.util.Date 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:229) ~[spring-data-mongodb-1.9.6.RELEASE.jar:na] 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readValue(MappingMongoConverter.java:1197) ~[spring-data-mongodb-1.9.6.RELEASE.jar:na] 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.access$200(MappingMongoConverter.java:79) ~[spring-data-mongodb-1.9.6.RELEASE.jar:na] 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter$MongoDbPropertyValueProvider.getPropertyValue(MappingMongoConverter.java:1145) ~[spring-data-mongodb-1.9.6.RELEASE.jar:na] 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.getValueInternal(MappingMongoConverter.java:871) ~[spring-data-mongodb-1.9.6.RELEASE.jar:na] 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter$1.doWithPersistentProperty(MappingMongoConverter.java:284) ~[spring-data-mongodb-1.9.6.RELEASE.jar:na] 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter$1.doWithPersistentProperty(MappingMongoConverter.java:272) ~[spring-data-mongodb-1.9.6.RELEASE.jar:na] 
    at org.springframework.data.mapping.model.BasicPersistentEntity.doWithProperties(BasicPersistentEntity.java:322) ~[spring-data-commons-1.12.6.RELEASE.jar:na] 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:272) ~[spring-data-mongodb-1.9.6.RELEASE.jar:na] 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:232) ~[spring-data-mongodb-1.9.6.RELEASE.jar:na] 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:192) ~[spring-data-mongodb-1.9.6.RELEASE.jar:na] 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:188) ~[spring-data-mongodb-1.9.6.RELEASE.jar:na] 
    at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:79) ~[spring-data-mongodb-1.9.6.RELEASE.jar:na] 
    at org.springframework.data.mongodb.core.MongoTemplate$ReadDbObjectCallback.doWith(MongoTemplate.java:2295) ~[spring-data-mongodb-1.9.6.RELEASE.jar:na] 
    at org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal(MongoTemplate.java:1949) ~[spring-data-mongodb-1.9.6.RELEASE.jar:na] 
    at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1767) ~[spring-data-mongodb-1.9.6.RELEASE.jar:na] 
    at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1750) ~[spring-data-mongodb-1.9.6.RELEASE.jar:na] 
    at org.springframework.data.mongodb.core.MongoTemplate.find(MongoTemplate.java:624) ~[spring-data-mongodb-1.9.6.RELEASE.jar:na] 
    at org.springframework.data.mongodb.repository.support.SimpleMongoRepository.findAll(SimpleMongoRepository.java:357) ~[spring-data-mongodb-1.9.6.RELEASE.jar:na] 
    at org.springframework.data.mongodb.repository.support.SimpleMongoRepository.findAll(SimpleMongoRepository.java:219) ~[spring-data-mongodb-1.9.6.RELEASE.jar:na] 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_72] 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_72] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_72] 
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_72] 
+0

Можете ли вы добавить все соответствующие коды для воспроизведения проблемы? – Veeram

+0

Извините, у меня нет большого количества кода для обмена, так как все автоконфигурировано с помощью весенней загрузки :) –

+0

Как настроить конфигурацию вашего mongo/boot? Похоже, что Spring не может найти класс 'SomeMessage'. Убедитесь, что ваш 'SomeMessage' находится в том же пакете, что и ваш класс загрузки. – Veeram

ответ

3

Вы ошибаетесь петь @Document аннотация для класса POJO.

С docs,

@Document - применяется на уровне класса, чтобы указать этот класс является кандидатом для отображения в базе данных. Вы можете указать имя коллекции , где будет храниться база данных.

Update: Хотя он должен работать без @Document, поскольку это не является обязательным аннотаций.

Смежные вопросы