Not really sure if this is by design, but please review the following:
org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected AST node: true near line 1, column 85 [from tv.twelvetone.medusa.components.provider.sis.api.data.events.EventsEvent where true
You wont find it. Neither of those are valid according to JPA spec. This would be a "feature request", but to be honest I do not see the benefit in supporting either of those.
They all seem to be valid predicates to me.
I wrote my own custom dialect, so this is not a problem for me anymore, but it's surprising how little documentation there is concerning this. It's also odd that [where 1=1] is in the specs but [where true] is not.
Even SQL does not support these. JPQL and HQL are largely derived from SQL
What we (dev team) decided here is that we will not support TRUE/FALSE as a predicates themselves.
We may even optimize 1=1 to just drop that predicate altogether in the generated SQL.
I added true() and false() to my custom sql dialect as a work around. It's useful when building an appended query that might not have any other predicates.