启动 springboot 应用报错
Caused by: org.springframework.data.mapping.MappingException: Ambiguous field mapping detected! Both private int java.text.NumberFormat.maximumIntegerDigits and private int java.text.DecimalFormat.maximumIntegerDigits map to the same field name maximumIntegerDigits! Disambiguate using @Field annotation! at org.springframework.data.mongodb.core.mapping.BasicMongoPersistentEntity$AssertFieldNameUniquenessHandler.assertUniqueness(BasicMongoPersistentEntity.java:286) at org.springframework.data.mongodb.core.mapping.BasicMongoPersistentEntity$AssertFieldNameUniquenessHandler.doWithPersistentProperty(BasicMongoPersistentEntity.java:272) at org.springframework.data.mongodb.core.mapping.BasicMongoPersistentEntity$AssertFieldNameUniquenessHandler.doWithPersistentProperty(BasicMongoPersistentEntity.java:266) at org.springframework.data.mapping.model.BasicPersistentEntity.doWithProperties(BasicPersistentEntity.java:355) at org.springframework.data.mongodb.core.mapping.BasicMongoPersistentEntity.verifyFieldUniqueness(BasicMongoPersistentEntity.java:145) at org.springframework.data.mongodb.core.mapping.BasicMongoPersistentEntity.verify(BasicMongoPersistentEntity.java:137) at org.springframework.data.mapping.context.AbstractMappingContext.addPersistentEntity(AbstractMappingContext.java:386) at java.util.Collections$SingletonSet.forEach(Collections.java:4769) at org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.createAndRegisterProperty(AbstractMappingContext.java:557) at org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.doWith(AbstractMappingContext.java:515) at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:756) at org.springframework.data.mapping.context.AbstractMappingContext.addPersistentEntity(AbstractMappingContext.java:383) at java.util.Collections$SingletonSet.forEach(Collections.java:4769) at org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.createAndRegisterProperty(AbstractMappingContext.java:557) at org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.doWith(AbstractMappingContext.java:515) at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:756) at org.springframework.data.mapping.context.AbstractMappingContext.addPersistentEntity(AbstractMappingContext.java:383) at org.springframework.data.mapping.context.AbstractMappingContext.getPersistentEntity(AbstractMappingContext.java:248) at org.springframework.data.mapping.context.AbstractMappingContext.getPersistentEntity(AbstractMappingContext.java:191) at org.springframework.data.mapping.context.AbstractMappingContext.getPersistentEntity(AbstractMappingContext.java:85) at org.springframework.data.mapping.context.MappingContext.getRequiredPersistentEntity(MappingContext.java:73) at org.springframework.data.mongodb.repository.support.MongoRepositoryFactory.getEntityInformation(MongoRepositoryFactory.java:149) at org.springframework.data.mongodb.repository.support.MongoRepositoryFactory.getTargetRepository(MongoRepositoryFactory.java:123) at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:305) at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.lambda$afterPropertiesSet$5(RepositoryFactoryBeanSupport.java:297) at org.springframework.data.util.Lazy.getNullable(Lazy.java:211) at org.springframework.data.util.Lazy.get(Lazy.java:94) at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:300) at org.springframework.data.mongodb.repository.support.MongoRepositoryFactoryBean.afterPropertiesSet(MongoRepositoryFactoryBean.java:119) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1821) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1758) ... 42 common frames omitted
在MongoDB实体类增加一个方法,需要用到格式化的方法
@Data
@JsonInclude(JsonInclude.Include.NON_EMPTY) @Document(collection = "callenia") public class A implements Cloneable,Entity{ @Data public static class B implements Cloneable{ DecimalFormat df = new DecimalFormat("###.##"); @JsonIgnore public String getImpCalcKey(){ return df.format(this.h1); } } }
@Data @JsonInclude(JsonInclude.Include.NON_EMPTY) @Document(collection = "callenia") public class A implements Cloneable,Entity{ @Data public static class B implements Cloneable{ @JsonIgnore public String getImpCalcKey(){ DecimalFormat df = new DecimalFormat("###.##"); return df.format(this.h1); } } }
把格式化的方法移动内部则解决了报错
标签:Ambiguous,java,mapping,springframework,detected,org,data,AbstractMappingContext From: https://www.cnblogs.com/liuxiutianxia/p/16832965.html