私の要件は単純に見えますが、コードで何か間違ったことをしているように感じます。
UIのInputTextフィールドから何も渡されないときに、Oracle Databaseに「null」を挿入するだけです。
PaymantSpecFormPage.xhtml
<h:inputText id="startWeek" value="#{flowScope.paymentSpecVO.paymStartWk}" styleClass="inputTypeForm" maxlength="4"/>
PaymentSpecVO.java
public class PaymentSpecVO extends BaseVO<PaymentSpec> {
private Integer paymStartWk;
public Integer getPaymStartWk() {
return paymStartWk;
}
public void setPaymStartWk(Integer paymStartWk) {
this.paymStartWk = paymStartWk;
}
}
そして私のDBテーブルで
COLUMN_NAME DATA_TYPE NULLABLE DEFAULT_VALUE
------------ --------- -------- -------------
PAYM_START_WK NUMBER(4,0) Yes null
また、inputText に何も入力しないと、null の代わりに 0 がテーブルに入力されます。これは、ビジネス ロジックでは意味が異なります。必要なコードの変更を手伝ってください。