setPropertyActionListenerを使用して列挙型プロパティを設定しようとしていますが、その方法がわかりません。エンティティは次のとおりです。
@Entity
public class Invoice {
public enum InvoiceStatus { ACTIVE, CANCELED }
...
@Enumerated(EnumType.STRING)
private InvoiceStatus status;
...
public InvoiceStatus getStatus() {
return status;
}
public void setStatus(InvoiceStatus status) {
this.status = status;
}
これが、setPropertyActionListenerを使用してステータスをACTIVEに設定するためのコマンドボタンです。
...
<h:form id="invoiceCreatedSuccessfully">
<p:dialog header="#{msg['title.success']}" widgetVar="invoiceCreatedSuccessfullyDialog" resizable="false" showEffect="fade" hideEffect="fade">
<h:panelGrid columns="2" rows="3" style="margin-bottom: 10px">
<h:outputText value="#{msg['message.invoiceCreatedSuccessfully']}" />
</h:panelGrid>
<p:commandButton value="#{msg['label.acknowledged']}" actionListener="#{invoiceManager.reload}" action="viewInvoices">
<f:setPropertyActionListener target="#{invoiceManager.invoice.status}" value="ACTIVE" />
</p:commandButton>
</p:dialog>
</h:form>
エラーは報告されませんが、DBのフィールド「ステータス」は設定されていません。誰かが理由を教えてもらえますか?