Postgres won't accept table alias before column name
The problem is that you include the table alias in
SET clause, in the columns. See the documentation of
UPDATE in Postgres docs:
The name of a column in
table. The column name can be qualified with a subfield name or array subscript, if needed. Do not include the table's name in the specification of a target column — for example,
UPDATE tab SET tab.col = 1is invalid.
This is valid in Postgres:
update GREETING Greeting set NAME='World', PHRASE='Hello World!' where Greeting.ID=5 ;
Check documentation on
UPDATE statement, specifically for the column part: it is illegal to prefix columns with table alias in the
UPDATE GREETING Greeting SET ID=5, NAME='World', PHRASE='Hello World!' WHERE (Greeting.ID=5);
Try using the latest Jodd, v3.3.7. where this issue is fixed.
The problem was in the Jodd library: entity update methods were generating update statement with table aliases. The new version simply does not put table aliases; that works for Postgres and for other databases too.