Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Vaadin SQL容器保存日期字段(具有空值)时出错_Java_Date_Vaadin - Fatal编程技术网

Java 使用Vaadin SQL容器保存日期字段(具有空值)时出错

Java 使用Vaadin SQL容器保存日期字段(具有空值)时出错,java,date,vaadin,Java,Date,Vaadin,我使用VaadinSQLContainer将一些字段绑定到表中。其中一个是通过以下方式绑定的PopupDateField字段: FieldGroupVar.bind(field, "dateOfBorn"); 但是一些日期值可能有空值,因此当应用程序尝试检索或存储表中的值时,会引发空指针异常 例如,在执行>FieldGroupVar.commit()时 如何告诉SQLContainer处理此错误并存储或检索其余值?我认为需要设置nullRepresentation field.setNullR

我使用Vaadin
SQLContainer
将一些字段绑定到表中。其中一个是通过以下方式绑定的
PopupDateField
字段:

FieldGroupVar.bind(field, "dateOfBorn");
但是一些日期值可能有空值,因此当应用程序尝试检索或存储表中的值时,会引发空指针异常

例如,在执行>
FieldGroupVar.commit()时


如何告诉
SQLContainer
处理此错误并存储或检索其余值?

我认为需要设置nullRepresentation field.setNullRepresetnation(新日期())


我希望这能有所帮助。

在这种情况下,我在insert语句中使用三元运算符。 检查日期字段是否为空,如果为空,则插入当前日期:

String sql = "INSERT INTO MYTABLE (MYDATE) VALUES('+
(rs.getTimestamp("MYDATE") != null ? rs.getTimestamp("MYDATE") : new Date())
+"')"; 

不幸的是,PopupDateField没有setNullRepresetnation方法。我在想也许可以使用addCommitHandler,但这可能只适用于提交,而不适用于从数据库自动加载字段的情况。