【问题标题】:HQL hibernate errors out on AT TIME ZONE在 AT TIME ZONE 上出现 HQL 休眠错误
【发布时间】:2014-08-15 00:01:23
【问题描述】:

我有一个问题

Query query = this.sessionFactory.getCurrentSession()
                .createQuery(
                        "SELECT DISTINCT t " +
                        "FROM Tag AS t " +
                            "JOIN t.site s " +
                            "JOIN s.timezone tz " +     
                        "WHERE t.statusTypeId = 2 AND " +
                            "( t.startDate <= TRUNC(TO_TIMESTAMP_TZ(TO_CHAR(:startDate, 'YYYYMMDDHH24'), 'YYYYMMDDHH24') AT TIME ZONE tz.name) OR t.startDate IS NULL) AND " +
                            "( t.endDate >= TRUNC(TO_TIMESTAMP_TZ(TO_CHAR(:endDate, 'YYYYMMDDHH24'), 'YYYYMMDDHH24') AT TIME ZONE tz.name) OR t.endDate IS NULL )");

Hibernate 抛出一个 ERROR 错误:org.hibernate.hql.internal.ast.ErrorCounter - 第 1:212 行:意外令牌:AT

如何在 createQuery 中使用 AT TINE ZONE?

【问题讨论】:

    标签: java sql hibernate hql


    【解决方案1】:

    如果你使用的是sql查询,那么你需要使用createSQLQuery(String sqlquery)

    请参考docs。 createQuery(string queryString) 接受 HQL 查询但不接受 SQL 查询。您的查询是 SQL

    【讨论】:

      猜你喜欢
      • 2019-09-28
      • 2021-11-12
      • 2011-03-14
      • 2015-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-15
      相关资源
      最近更新 更多