预期的类型错误。日期格式

时间:2015-07-16 06:15:56

标签: java hibernate javafx javafx-8

我按如下方式映射了VALUE_DATE字段:

@Column(name = "VALUE_DATE")
private Timestamp valueDate;

但是当我把它绑定时,我已经使用了

private ObjectProperty<LocalDate> dateFrom;
public ObjectProperty<LocalDate> dateFromProperty() {
        if(dateFrom == null){
            dateFrom = new SimpleObjectProperty<>();
        }
        return dateFrom;
    }

结合:

dp_date_from.valueProperty().bindBidirectional(model.dateFromProperty());

然后我使用此日期过滤表

if (dateFrom != null) {
            sb.append("and a.valueDate > :dateFrom ");
        }
if (dateFrom != null) {
            q.setParameter("dateFrom", dateFrom);
        }

我收到错误:

Parameter value [2014-07-09] did not match expected type [java.util.Date (n/a)]; nested exception is java.lang.IllegalArgumentException: Parameter value [2014-07-09] did not match expected type [java.util.Date (n/a)]

我应该更改VALUE_DATE格式还是其他内容?感谢

2 个答案:

答案 0 :(得分:0)

一方面是Timestamp,另一方面是LocalDate。如果双方都有相同的类型,它可能会有效。

答案 1 :(得分:0)

我完成了。感谢大家。问题由以下方法解决:

if (dateFrom != null) {
            Instant instant = dateFrom.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant();
            Date dateFromParam = Date.from(instant);

            q.setParameter("dateFrom", dateFromParam);
        }