Reserved SQL keywords cannot be used as table, column or sequence names. Use a different
name, or enclose the name in double quotes. For example: @Column(name="\"LANGUAGE\"")

Pessimistic locking adds 'FOR UPDATE' to the SELECT statement, and cannot be used with
queries that use DISTINCT.

Pessimistic locking cannot be used with queries that select from multiple tables.

The LockNoWait option of Pessimistic Locking cannot be used; it is ignored when specified
(i.e. only 'FOR UPDATE' is added to the SELECT statement).

Bulk update and delete operations that require multiple tables to be accessed cannot be used
(e.g. bulk operation on an entity that is part of an inheritance hierarchy, UpdateAll and
DeleteAll queries).

'= NULL' and '<> NULL' cannot be used for null comparisons in the WHERE clause. Use 'IS (NOT)
NULL' instead.