@Configuration
public class MongoCfg {
@Bean
public MongoCustomConversions customConversions() {
return new MongoCustomConversions(Arrays.asList(
new DateToZonedDateTimeConverter(),
new ZonedDateTimeToDateConverter(),
new BigDecimalDecimal128Converter(),
new Decimal128BigDecimalConverter()
));
}
static class DateToZonedDateTimeConverter implements Converter {
@Override
public ZonedDateTime convert(Date source) {
return source == null ? null : ofInstant(source.toInstant(), systemDefault());
}
}
static class ZonedDateTimeToDateConverter implements Converter {
@Override
public Date convert(ZonedDateTime source) {
return source == null ? null : Date.from(source.toInstant());
}
}
@WritingConverter
static class BigDecimalDecimal128Converter implements Converter {
@Override
public Decimal128 convert(@NonNull BigDecimal source) {
return new Decimal128(source);
}
}
@ReadingConverter
static class Decimal128BigDecimalConverter implements Converter {
@Override
public BigDecimal convert(@NonNull Decimal128 source) {
return source.bigDecimalValue();
}
}
@Primary
@Bean(name = "alertDBProperties")
@ConfigurationProperties(prefix = "spring.mongodb.alert")
public MongoProperties getAlertProps() throws Exception {
return new MongoProperties();
}
@Bean(name = "scanDBProperties")
@ConfigurationProperties(prefix = "spring.mongodb.scan")
public MongoProperties getScanProps() throws Exception {
return new MongoProperties();
}
@Primary
@Bean(name = "alertMongoTemplate")
public MongoTemplate alertMongoTemplate() throws Exception {
return new MongoTemplate(alertMongoDatabaseFactory(getAlertProps()));
}
@Bean(name ="scanMongoTemplate")
public MongoTemplate scanMongoTemplate() throws Exception {
return new MongoTemplate(scanMongoDatabaseFactory(getScanProps()));
}
@Primary
@Bean
public MongoDatabaseFactory alertMongoDatabaseFactory(MongoProperties mongo) throws Exception {
return new SimpleMongoClientDatabaseFactory(
mongo.getUri()
);
}
@Bean
public MongoDatabaseFactory scanMongoDatabaseFactory(MongoProperties mongo) throws Exception {
return new SimpleMongoClientDatabaseFactory(
mongo.getUri()
);
}
}
Как видите, я обрабатываю 2 подключения к базе данных, проблема в том, что когда я пытаюсь получить данные, я получаю эту ошибку: Нет найден конвертер, способный конвертировать из типа [java.util.Date] в тип [java.time.ZonedDateTime]
Я не понимаю, почему это происходит, я уже заявлял DateToZonedDateTimeConverter и ZonedDateTimeToDateConverter
У меня есть следующий класс mongocfg < /p> [code]@Configuration public class MongoCfg {
@Bean public MongoCustomConversions customConversions() { return new MongoCustomConversions(Arrays.asList( new DateToZonedDateTimeConverter(), new ZonedDateTimeToDateConverter(), new BigDecimalDecimal128Converter(), new Decimal128BigDecimalConverter() )); }
static class DateToZonedDateTimeConverter implements Converter {
static class ZonedDateTimeToDateConverter implements Converter {
@Override public Date convert(ZonedDateTime source) { return source == null ? null : Date.from(source.toInstant()); } }
@WritingConverter static class BigDecimalDecimal128Converter implements Converter {
@Override public Decimal128 convert(@NonNull BigDecimal source) { return new Decimal128(source); } }
@ReadingConverter static class Decimal128BigDecimalConverter implements Converter {
@Override public BigDecimal convert(@NonNull Decimal128 source) { return source.bigDecimalValue(); }
}
@Primary @Bean(name = "alertDBProperties") @ConfigurationProperties(prefix = "spring.mongodb.alert") public MongoProperties getAlertProps() throws Exception { return new MongoProperties(); }
@Bean(name = "scanDBProperties") @ConfigurationProperties(prefix = "spring.mongodb.scan") public MongoProperties getScanProps() throws Exception { return new MongoProperties(); }
@Primary @Bean(name = "alertMongoTemplate") public MongoTemplate alertMongoTemplate() throws Exception { return new MongoTemplate(alertMongoDatabaseFactory(getAlertProps())); }
@Bean(name ="scanMongoTemplate") public MongoTemplate scanMongoTemplate() throws Exception { return new MongoTemplate(scanMongoDatabaseFactory(getScanProps())); }
@Primary @Bean public MongoDatabaseFactory alertMongoDatabaseFactory(MongoProperties mongo) throws Exception { return new SimpleMongoClientDatabaseFactory( mongo.getUri() ); }
@Bean public MongoDatabaseFactory scanMongoDatabaseFactory(MongoProperties mongo) throws Exception { return new SimpleMongoClientDatabaseFactory( mongo.getUri() ); } } [/code] Как видите, я обрабатываю 2 подключения к базе данных, проблема в том, что когда я пытаюсь получить данные, я получаю эту ошибку: [b]Нет найден конвертер, способный конвертировать из типа [java.util.Date] в тип [java.time.ZonedDateTime][/b] Я не понимаю, почему это происходит, я уже заявлял [b]DateToZonedDateTimeConverter[/b] и [b]ZonedDateTimeToDateConverter[/b]
У меня есть документ ниже
@Document
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder(toBuilder = true)
public class User extends AuditEntity {
Я хочу сделать каждый параметр необязательным, но столкнулся с проблемой получения ошибки
{
error : Internal Server Error ,
code : 500,
message : class java.util.ArrayList cannot be cast to class java.util.UUID (java.util.ArrayList and...
Я хочу сделать каждый параметр необязательным, но у меня возникла проблема с получением ошибки
{
error : Internal Server Error ,
code : 500,
message : class java.util.ArrayList cannot be cast to class java.util.UUID (java.util.ArrayList and...
Я работаю над Spring Hateoas jsonapi.
У меня есть запрос GET
import static com.toedter.spring.hateoas.jsonapi.MediaTypes.JSON_API_VALUE;
import org.springframework.hateoas.EntityModel;
import java.time.LocalDateTime;