Ambiguous field mapping detected!

 启动 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);
         }
    } 
}            

把格式化的方法移动内部则解决了报错

posted @ 2022-10-27 17:11  创可贴Y  阅读(616)  评论(0编辑  收藏  举报