0

LOB既存の LOB (DB から) の読み取りと、DB への新規の書き込みに使用される非常に単純なマネージド BeanがありLOBます。

@ManagedBean(name = "lob")
@RequestScoped
public class LOB implements Serializable {    
    private int id;
    private String title;
    private String content;    

    public void createNewLOB(){    
       // code for adding new lob goes here
    }

    /** getters and setters for various bean properties go here**/

}

現在、同じLOB Bean を使用して既存のLOB(s) を DB から読み取り、同じ Bean (ただし、もちろん異なるインスタンス) を使用して新しいLOBDB に書き込むためです。既存の LOB を読み取るために Bean がインスタンス化されている場合、DB からデータを取得するように Bean インスタンスに指示するにはどうすればよいですか?

各プロパティのゲッター内の各 Bean プロパティに固有のデータを取得する必要がありますか?? DBからすべてのデータを一度に読み取りたいので、良いオプションではありません。

したがって、私が望むのは、Bean プロパティのゲッターが facelets コードで使用される EL 式によって呼び出されるかなり前に、Bean プロパティに DB からのデータを 1 回のラウンドで入力する必要があるということです。

インスタンスが既存のデータを読み取るために作成され、 new を書き込むためではないことをどうにかして伝えることができます LOBか?

4

1 に答える 1

1

既存の LOB を読み取るために Bean がインスタンス化されている場合、DB からデータを取得するように Bean インスタンスに指示するにはどうすればよいですか?

(ポスト)コンストラクターでジョブを実行するだけです。


新しい LOB を書き込むためではなく、既存のデータを読み取るためにインスタンスが作成されたことをどうにかして伝えることができますか?

idでないかどうかを確認しnullます。


このように、「マネージド Bean」、「エンティティ」、および「データ アクセス オブジェクト」という概念を 1 つのクラスに混在させていることに注意してください。これは密結合であり、必ずしも良い設計ではありません。

于 2011-10-10T11:59:34.520 に答える