से मेल नहीं खाता मैं spring-data-mongodb
संस्करण 1.1.1.RELEASE
के साथ निम्न वस्तु लागू करने के लिए कोशिश कर रहा हूँ:PersistenceConstructor तर्क चर नाम उदाहरण चर नाम
@Document
public static class TestObject {
private final int m_property;
@PersistenceConstructor
public TestObject(int a_property) {
m_property = a_property;
}
public int property() {
return m_property;
}
}
मैं एक MappingException
जब मैं वस्तु डेटाबेस से वापस पढ़ने की कोशिश (नीचे पूर्ण स्टैकट्रैक देखें)
नामकरण सम्मेलन मेरे समूह के उपयोग के लिए a_
द्वारा पूर्ववर्ती तर्क चर नामों की आवश्यकता होती है और उदाहरण चर नाम m_
द्वारा पूर्ववर्ती किए जाने चाहिए। ऐसा लगता है कि spring-data-mongodb
यह धारणा बना रहा है कि कन्स्ट्रक्टर तर्क परिवर्तनीय नाम ऑब्जेक्ट इंस्टेंस वेरिएबल नामों से मेल खाना चाहिए।
- क्यों
spring-data-mongodb
कन्स्ट्रक्टर के भीतर परिभाषित आवृत्ति मैपिंग के लिए कन्स्ट्रक्टर तर्क का उपयोग नहीं करता है? - क्या इस मैपिंग को परिभाषित करने का कोई और तरीका है कि
spring-data-mongodb
ठीक से मेरी ऑब्जेक्ट का निर्माण करेगा, या नामकरण सम्मेलन तोड़ने का मेरा एकमात्र विकल्प है?
।
Exception in thread "main" org.springframework.data.mapping.model.MappingException: No property a_property found on entity class com.recorder.TestRecorder$TestObject to bind constructor parameter to!
at org.springframework.data.mapping.model.PersistentEntityParameterValueProvider.getParameterValue(PersistentEntityParameterValueProvider.java:90)
at org.springframework.data.convert.ReflectionEntityInstantiator.createInstance(ReflectionEntityInstantiator.java:70)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:229)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:209)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:173)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:169)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:72)
at org.springframework.data.mongodb.core.MongoTemplate$ReadDbObjectCallback.doWith(MongoTemplate.java:1820)
at org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal(MongoTemplate.java:1542)
at org.springframework.data.mongodb.core.MongoTemplate.findAll(MongoTemplate.java:1064)
at com.recorder.TestRecorder.main(TestRecorder.java:43)
यह वास्तव में क्रोधित नामकरण सम्मेलन है जो कोई समझ नहीं लेता है। –