JPQLのHAVING句の変な仕様?

JPQLのHAVING句ですが、TopLinkでは以下のクエリが動きませんでした(Hibernateでは問題なく動きます)。

SELECT 
  e.department.id, 
  MAX(e.salary)  
FROM 
  Employee e
GROUP BY 
  e.department.id
HAVING 
  MAX(e.salary) > 1000 

一見、まったく問題なさそうなのですが、HAVING句に MAX(e.salary) と指定しているのがいけないみたいです。
上のJPQLを実行すると、TopLinkJPA仕様の4.7の最後にある次の文章を例外のメッセージに含めます。

The HAVING clause must specify search conditions over the grouping items or aggregate functions that apply to grouping items.

つまり、HAVING句に指定できるのは、「GROUP BY句に指定した項目(上の例だとe.department.id)」か「GROUP BY句に指定した項目に対する集計関数(上の例だとCOUNT(e.department.id)とか)」でなければいけないと言いたいらしい。でも、GROUP BY句に指定した項目に対する集計関数って意味ないような。それにgrouping itemsって「GROUP BY句に指定した項目」を指す用語なのかなぁ?

ちなみに、ProEJB 3 のp.217のHAVING句を使ったJPQLがTopLinkでは動きませんでした。仕様じゃなくて僕が使ったTopLink(build35)の不具合のような気もしちゃいます。

おっ、これが関係あるかも。
https://glassfish.dev.java.net/issues/show_bug.cgi?id=1403
GlassFishのバージョン番号で管理されているからCurrentlyってTopLink Essentialsのどのビルドバージョンかわからない...。