だから、私は奇妙な問題を抱えています。この式: method.invoke(target, null)
java.lang.IllegalArgumentException をスローします: 引数の数が間違っています
問題は、この式が hibernate (正確には BasicPropertyAccessor$BasicGetter) の奥深くにあることであり、正常に動作するはずです (最近まで動作していました)。
私はこの問題をEclipseでデバッグしましたが、実際に(表示ビューで)呼び出すmethod.invoke(target)
か、method.invoke(target, (Object[]) null)
すべてが正常に機能する場合。私のクラスにはこのゲッターがあり、引数がないと確信しています。それで...問題は、一体何が起こっているのかということです!
編集:
- method は java.lang.reflect.Method のインスタンスであり、前述のゲッターを指します
- ターゲットは public X getX() getter を持つクラスのインスタンスです
- JDK1.6.0_31
休止状態のコード (BasicPropertyAccessor:143):
public Object get(Object target) throws HibernateException { try { return method.invoke(target, null); } catch{ ... } }