There are, generally speaking, 2 ways to refer to an entity's identifier property:
The special property (lowercase) id
may be used to reference the identifier
property of an entity provided that entity does not define a non-identifier property
named id.
If the entity defines a named identifier property, you may use that property name.
References to composite identifier properties follow the same naming rules. If the
entity has a non-identifier property named id, the composite identifier property can only
be referenced by its defined named; otherwise, the special id
property
can be used to rerference the identifier property.
Note: this has changed significantly starting in version 3.2.2. In previous versions,
id
always referred to the identifier property no
matter what its actual name. A ramification of that decision was that non-identifier
properties named id
could never be referenced in Hibernate queries.