我有一个包含 2 个表CD
和Song
. 会话 bean 访问然后是这两个表的实体类。在我的支持 bean 中,我只有一个String cd
,HashMap<CDName, CDName> cds
它将保存从我的 sessionbean 返回的 CD 列表,所以在 JSF 中我会做这样的事情。
<h:selectOneMenu id="cd" value="#{backingBean.cd}">
<f:selectItem itemLabel="Select CD" itemValue="" />
<f:selectItems value="#{backingBean.cds}" />
</h:selectOneMenu>
这成功地将 cd 列表加载到下拉列表中,如果我选择 cd,cd
变量将保存我选择的 CD 的名称。如果CDName
是独一无二的,这项工作就很棒。但不幸的是,事实并非如此。所以我想要的是table 中的 PK 在HashMap<ID, CDName> cds
哪里。但是现在我可以如何设置它,所以当我从 CD 下拉列表中单击一个项目时,我会在我的 backingbean 中返回,这样我就可以在我的会话 bean 中执行类似的操作ID
CD
ID
CD cd = EntityManager.find(CD.class, the id that I get back from JSF page)
本质上我想获得cd
我刚刚点击的对象,记住它,可能会有重复。如果我的设计不好,请指出。请帮忙。提前致谢