0

ビューテンプレートの3レベルだけ深いメンバーフィールドにアクセスすると、NullPointerExceptionが発生します。

@tfz.modelTfzTyp.simulierteTfzTyp.typ

代わりにゲッター関数を使用すると、機能します。しかし、それは面倒です。

私はEbeanを使用していますが、Hibernateにはがありmax_fetch_depthます。似たようなことが私の問題を引き起こしているのではないかと疑っています。Playにもっと多くのオブジェクトを熱心にロードさせるにはどうすればよいですか?

4

1 に答える 1

2

max_fetch_depthこれはプロパティとは何の関係もありません。

動的フェッチは、モデルのバイトコード拡張によって許可され、ゲッターに対してのみ機能します。

公式ドキュメントを参照してください:

直接Ebeanフィールドアクセスの拡張(遅延読み込みを可能にする)は、Javaクラスにのみ適用され、Scalaには適用されません。したがって、Scalaソースファイル(標準のPlay 2テンプレートを含む)からの直接フィールドアクセスは遅延読み込みを呼び出さず、多くの場合、空の(入力されていない)エンティティフィールドになります。フィールドが確実に入力されるようにするには、(a)手動でゲッター/セッターを作成して代わりに呼び出すか、(b)フィールドにアクセスする前にエンティティが完全に入力されていることを確認します。

于 2013-01-16T08:16:49.780 に答える