興味深い問題:
次のようなドメインクラスがあります
class Dummy {
String key = (''+new Date()).encodeAsSHA256()
}
アプリを起動しようとすると、長いスタック トレース/エラー メッセージが表示されます。
Invocation of init method failed; nested exception is org.hibernate.InstantiationException: could not instantiate test objectmad.Dummy
...
Caused by MissingMethodException: No signature of method: java.lang.String.encodeAsSHA256() is applicable for argument types: () values: []
ここで、を削除し.encodeAsSHA256()
、アプリケーションを開発モードで起動してエンコードを再挿入すると、動作します:-)
したがって、基本的にコードは実行時に機能しますが、初期化時に、String クラスはまだエンコーダーに対して準備ができていないようです。
カスタムコンストラクターを作成せずにこれを修正する方法はありますか?