「GenericDAO」を拡張するDAOクラスがあります
Generic dao には、getter と setter を持つ LanguageId 変数があります。
セッションから言語 ID を取得します。
genericDAO言語 ID を直接設定する方法はありますか。dao クラスを使用するたびに、コントローラーから languageId を渡す必要がないようにするにはどうすればよいですか?
最後に私が欲しいのは、getLanguageId()daoオブジェクトでできるはずです。
通常、DAO はシングルトンとしてセットアップされるため、すべての異なるスレッドが使用するインスタンスは 1 つだけです。その場合、他のユーザーが影響を受ける可能性がなければ、1 人のユーザーに言語を設定することはできません。それをメソッド引数として渡すことが、他のスレッドが誤って間違った言語 ID を取得しないようにする唯一の安全な方法です。 . したがって、やりたいことができるかどうかは、DAO のスコープによって異なります。
DAOのまさにポイントは、セッションがいくつかのステートフルな情報を表す間、それらはステートレスであるということです。すべてのステートフル情報は、メソッドの引数を介してDAOに渡されることになっています。
したがって、DAOにgetLanguageId()が必要な場合は、セッションごとにDAOインスタンスを作成し、作成中にlanguageIdを注入する運命にあります。