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