實體何時或在何處創建?
當XHTML頁面通過託管bean加載並訪問實體時,它們是否被創建?
或者它們是否在託管bean中自動創建?
我們是否需要從託管bean的構造函數手動創建它?何時/何地在Java EE Web應用程序上創建實體?
請參閱下面的代碼
該實體將是(一些必要的代碼可能不會被複制。):
public class PersonalInfo implements Serializable {
@Size(max = 50)
@Column(name = "FIRST_NAME", length = 50)
private String firstName;
// some getters and setters
}
網頁將是:
<h:form>
<h:outputText value="first name"/>
<h:inputText value="#{personalInforController.personalInfo.firstName}" />
<h:commandButton value="hit me"
action="#{personalInforController.create}"
immediate="true"/>
</h:form>
和後臺豆將是:
@Named(value = "personalInfoController")
@SessionScoped
public class PersonalInforController {
@EJB
PersonalInfoFacade ejbFacade;
PersonalInfo personalInfo;
String defaultPage = "index";
public String create() {
try {
ejbFacade.create(personalInfo);
return "prepareCreate";
} catch (Exception e) {
return "success";
}
}
}
非常感謝您的澄清!好的,所以我們需要從構造函數或用atPostConstruct裝飾的方法手動創建它。由於NetBeans自動生成的代碼,我只是有點困惑。無論如何,再次感謝。感謝幫助! –