1

hql で date_sub() 関数を使用するにはどうすればよいですか。次の SQL クエリの例: select * FROM performance where performance_id= 8955 and daterangefrom >= (date_sub('2008-12-01 00:00:00',interval 8 hour));

これを @NamedQuery に記述する必要があるため、これを試しましたが機能しませんでした:

@NamedQuery(name = "performance.performanceBySourceId", query = "select p from Performance p where p.source.id = :sourceID and p.dateRangeFrom >= (registerFunction('performance.queryString', new SQLFunctionTemplate(Hibernate.STRING, 'date_add('2008-12-01 00:00:00', INTERVAL 2 hour))) order by p.dateRangeFrom desc' ")
4

1 に答える 1

2

私はあなたと同じ問題に遭遇しました。休止状態は DATE_SUB の mysql 関数をサポートしていないようです。そのため、ネイティブ SQL クエリを使用する必要があります。

于 2013-03-21T06:37:56.490 に答える