तो, मेरे पास एक अजीब मुद्दा है। यह अभिव्यक्ति: method.invoke(target, null)
java.lang.IllegalArgumentException फेंकता है: तर्कvarargs और शून्य तर्क
समस्या यह है कि इस अभिव्यक्ति गहरे अंदर हाइबरनेट (BasicPropertyAccessor $ BasicGetter सटीक होना करने के लिए) है और मुझे लगता है कि यह ठीक से काम करना चाहिए (यह हाल ही में जब तक किया था की गलत संख्या)
मैंने इस समस्या को ग्रहण में डीबग किया और वास्तव में, यदि मैं (प्रदर्शन दृश्य में) कॉल method.invoke(target)
या method.invoke(target, (Object[]) null)
सब कुछ ठीक काम करता है। मुझे यकीन है कि मेरी कक्षा में यह गेटर है और इसमें कोई तर्क नहीं है। तो ... सवाल यह है कि क्या चल रहा है ?!
संपादित करें:
- विधि कहा गेटर
- लक्ष्य को java.lang.reflect.Method और अंक का एक उदाहरण है सार्वजनिक एक्स getX() गेटर
- साथ वर्ग का एक उदाहरण है JDK 1.6.0_31
हाइबरनेट में कोड (BasicPropertyAccessor: 143):
public Object get(Object target) throws HibernateException { try { return method.invoke(target, null); } catch{ ... } }
आप किस विधि का आह्वान करने की कोशिश कर रहे हैं? – Jeffrey
session.flush(): पी लेकिन अंत में, हाइबरनेट गेटटर – mabn
को आमंत्रित करने का प्रयास कर रहा है विधि का हस्ताक्षर क्या है? – Bohemian