我有一个非常简单的托管 bean LOB,用于读取现有 LOB(从 DB)以及LOB向 DB 写入新的 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 来读取从 DB 读取的现有LOB(s)和同一个 bean(但当然是不同的实例)来LOB向 DB 写入一个新的。当 bean 已被实例化以读取现有 LOB 时,如何告诉 bean 实例从 DB 检索数据?
我应该在每个属性的 getter 中检索特定于每个 bean 属性的数据吗?不是好选择,我想是因为我想一次从数据库中读取所有数据。
所以,我想要的是,bean 属性应该在一轮中填充来自 DB 的数据,远在 facelets 代码中使用的 EL 表达式调用 bean 属性的 getter 之前。
我可以以某种方式告诉该实例是为读取现有数据而不是为编写新数据而创建的
LOB吗?