나는 몇 시간 동안이 일을 해왔으며 아무도 아직 작동하지 않는 사람을 찾지 못했습니다. Mongo에서 BigDecimal 객체를 유지하려고하지만 Mongo는 기본적으로 BigDecimal을 지원하지 않습니다. 나는 봄의 문서 들인 here을 따라 갔지만 행운은 없다.Spring에서 사용자 지정 Mongo 포맷터는 어떻게 설정합니까?
내가 말할 수있는 것부터 Spring이 Mongo에 사용자 정의 변환기 클래스를 삽입 할 때 db에 쓰는 중입니다. 여기에 내가 한 일입니다 :
내 ApplicationContext를-services.xml에 ...
이<!-- Factory bean that creates the Mongo instance -->
<mongo:mongo
host="localhost"
port="1234" />
<mongo:db-factory
dbname="solar"
mongo-ref="mongo"/>
<mongo:mapping-converter>
<mongo:custom-converters>
<mongo:converter>
<bean class="com.mine.BigDecimalReadConverter"/>
</mongo:converter>
<mongo:converter>
<bean class="com.mine..BigDecimalWriteConverter"/>
</mongo:converter>
</mongo:custom-converters>
</mongo:mapping-converter>
<!-- Use this post processor to translate any MongoExceptions thrown in @Repository annotated classes -->
<bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/>
<bean id="mongoDbTest"
class="com.mine.MongoDbTest">
<property name="mongoTemplate">
<ref local="mongoTemplate" />
</property>
</bean>
내가지고있어 오류는 다음과 같습니다
java.lang.IllegalArgumentException: Multiple constructors with arguments found in class java.math.BigDecimal! Annotate one with @PreferedConstructor explicitly to select it to be used in persistence operations.
at org.springframework.data.mapping.PreferredConstructorDiscoverer.<init>(PreferredConstructorDiscoverer.java:81)
당신은 스프링 데이터의 단위 테스트 또는 u 사용하는 모듈 보면? – chrislovecnm
나는 그렇지 않다. 나는 문서가 제안한 것처럼 그것을 설정했지만 행운은 없다. – emilebaizel
어떤 버전의 스프링 데이터를 사용하고 있습니까 ?? –