Both @Where and @Filter can be used on classes and collections.
Quote:
But I am unable to get @Where working.
The example you have seems to use HQL in the condition. You must use SQL both in @Where and @Filter.
Quote:
Is the filter defined by @Filter used during the fetch from database or later when the collection is accessed using getItems() in this example ?
It is used in the database query that fetches the items, but if you collection is lazy this usually doesn't happen until you access the collection. Eg. getItems().iterator(), getItems().add(...), etc.