【问题标题】:offsetDateTime illegalArgumentException nhibernateoffsetDateTime 非法ArgumentException nhibernate
【发布时间】:2019-03-16 18:50:41
【问题描述】:

我正在尝试将 offsetDateTime 映射到类型 SQL,但我不确定如何解决这两种类型。

在我的方法中,我正在更新日期

List<Items> listItems = repository.fetchitemById(Ids);
  OffsetDateTime date = OffsetDateTime.now();
    if (listItems.size() > 0 && !isNull(listItems.get(0).getDate())) {
     date = listItems.get(0).getDate();
    }

查询在存储库中一个带有日期的 crudRepository 已经验证了界面中的顺序和它们都匹配的查询

当我评估表达式时

listItems.get(0).getDate()

我明白了

方法抛出“java.lang.IllegalArgumentException”异常。 投影类型必须是接口! java.lang.IllegalArgumentException: 投影类型必须是接口!

同样在模式中,日期是一个带有 NULL DEFAULT NULL 的 TIMESTAMP

任何想法

【问题讨论】:

    标签: sql nhibernate datetimeoffset


    【解决方案1】:

    试试这个

    List<Items> listItems = repository.fetchitemById(Ids);
          OffsetDateTime date = OffsetDateTime.now();
            if (listItems.size() > 0){
              if(!isNull(listItems.get(0).getDate())) {
             date =Timestamp.valueOf(listItems.get(0).getDate().toLocalDateTime);
            }
        }
    

    【讨论】:

    • 同样的事情,问题似乎只存在于 OffsetDateTime 因为它适用于字符串或任何其他类型,我也知道 offsetDateTime 映射到 sql 中的时间戳。
    • 如果现在指的是日期,那就错了,它们是两种不同的类型'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多