Java JPA转换表达式<;时间戳>;表达<;日历>;

Java JPA转换表达式<;时间戳>;表达<;日历>;,java,jpa,calendar,criteria-api,Java,Jpa,Calendar,Criteria Api,我正在尝试执行以下操作(cb=CriteriaBuilder): 但我得到以下语法错误: 绑定不匹配:之间的通用方法(表达式它似乎是一个不错的选择,可以改为执行以下操作: Calendar now = Calendar.getInstance(); cb.and( cb.lessThanOrEqualTo(kampanjeArtikkelPriser.get(KampanjeArtikkelPris_.overstyrtSalgsprisPeriodeFra), now), c

我正在尝试执行以下操作(cb=CriteriaBuilder):

但我得到以下语法错误:


  • 绑定不匹配:之间的通用方法(表达式它似乎是一个不错的选择,可以改为执行以下操作:

    Calendar now = Calendar.getInstance();
    cb.and(
        cb.lessThanOrEqualTo(kampanjeArtikkelPriser.get(KampanjeArtikkelPris_.overstyrtSalgsprisPeriodeFra), now),
        cb.greaterThanOrEqualTo(kampanjeArtikkelPriser.get(KampanjeArtikkelPris_.overstyrtSalgsprisPeriodeTil), now)
    )
    

    如果有人找到更好的解决方案——也许更具可读性,那么就把问题留待一旁。Lars,这个选项有效吗?你是说哪个选项?一次检查一个日期边界可能有效。在这种情况下,我不得不放弃Criteria API,改为使用本机查询,因为hibernate的括号错误,因此查询结果..:)是否无法从cb.currentTimestamp()中生成路径?可能有,但我还没有找到路径。。。
    Calendar now = Calendar.getInstance();
    cb.and(
        cb.lessThanOrEqualTo(kampanjeArtikkelPriser.get(KampanjeArtikkelPris_.overstyrtSalgsprisPeriodeFra), now),
        cb.greaterThanOrEqualTo(kampanjeArtikkelPriser.get(KampanjeArtikkelPris_.overstyrtSalgsprisPeriodeTil), now)
    )