我正在使用primefaces 3.5,我想在以下问题上寻求帮助:
我有一个选择模式为single的数据表,所选项是绑定到对象而不是特定对象属性。示例代码如下:
<p:dataTable id="name" value="#{bean.items}" var="item" selectionMode="single" selection="#{bean.selected}" rowKey="#{item}">
<p:ajax event="rowSelect" />
<p:ajax event="rowUnselect" />
...
</p:dataTable>
在项目创建期间,我不会立即将项目持久保存到数据库,而是维护项目列表,并且在操作保存处理程序期间,我会保留整个列表。
问题是,对于每个新创建的项目,我都没有生成对象id(在数据库上自动执行持久化),并且在表格的行选择期间,所选项目总是错误的。我可以在没有唯一对象属性的情况下管理正确的行选择吗?
答案 0 :(得分:1)
这是问题逻辑,如果您使用自动生成密钥将方法等于/ hashcode 更改为其他字段,因为当您使用自动生成时必须有候选键。