この問題を解決するには 私のbeanマップのキーをprimefacesからcelledit機能で変更したいと思います。 mapの値を編集するにはうまくいきます。あなたがエラーを取得する理由はのentrySetのキーは不変であるということです
javax.el.PropertyNotWritableException: The class 'java.util.HashMap$Node' does not have a writable property 'key'.
<p:dataTable id="breaktime" var="item" value="#{breakTimeDataActions.map.entrySet().toArray()}"
editable="true" editMode="cell" >
<f:facet name="header">
</f:facet>
<p:ajax event="cellEdit" listener="#{breakTimeDataActions.onCellEdit}"
update=":form:msgs" />
<p:column headerText="#{texts['breaktime.hours']}">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{item.key}" />
</f:facet>
<f:facet name="input">
<p:spinner value="#{item.key}" min="0" max="24" converter="javax.faces.Integer" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="#{texts['breaktime.minute']}">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{breakTimeDataActions.map[item.key]}" />
</f:facet>
<f:facet name="input">
<p:spinner value="#{breakTimeDataActions.map[item.key]}" min="0" max="24" converter="javax.faces.Integer" />
</f:facet>
</p:cellEditor>
</p:column>
</p:dataTable>
本当の質問は、なぜあなたは 'HashMap'ノードのキーを変更しようとしているのですか?基本的な契約の違反は、鍵が読み取り専用であることです。 – EJP