gpt4 book ai didi

java - 用于读取现有数据时,如何使用数据库中的数据填充托管 bean 属性?

转载 作者:行者123 更新时间:2023-12-01 15:42:59 25 4
gpt4 key购买 nike

我有一个非常简单的托管 bean LOB,用于读取现有的 LOB(从数据库)以及将新的 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 并使用相同的 bean(但当然是不同的实例)来编写新的 LOB 到数据库。 当 bean 已实例化以读取现有 LOB 时,如何告诉 bean 实例从数据库检索数据?

我应该在每个属性的 getter 中检索特定于每个 bean 属性的数据吗?我想这不是一个好的选择,因为我想立即从数据库中读取所有数据。

所以,我想要的是,bean 属性应该在一轮中用来自数据库的数据填充,早于 Facelets 代码中使用的 EL 表达式调用 bean 属性的 getter。

我能以某种方式告诉你该实例是为了读取现有数据而不是为了写入新的而创建的吗?
LOB

最佳答案

How do I tell the bean instance to retrieve data from DB when bean has been instantiated to read existing LOB ?

只需在(后)构造函数中完成这项工作即可。

<小时/>

Can I somehow tell that the instance has been created for reading existing data & not for writing new LOB?

检查id是否不null

<小时/>

请注意,您以这种方式将“托管 bean”、“实体”和“数据访问对象”等概念混合到一个类中。这是紧耦合,不一定是好的设计。

关于java - 用于读取现有数据时,如何使用数据库中的数据填充托管 bean 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7711050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com