我有一个查询
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?
答案 0 :(得分:1)
如果您使用的是sql查询,则需要使用createSQLQuery(String sqlquery)
请参阅docs。 createQuery(string queryString)接受HQL查询但不接受SQL查询。您的查询是SQL