JPA / JPQL - bulk update

jpa, jpql

Solution

You should be able to use `COALESCE`:

UPDATE Book b SET b.amount = COALESCE(b.amount, 1) + 1 WHERE b IN ( :books ) 

Problem

I have to perform a bulk update on a table. Making a fast example : ``` UPDATE Book b SET b.amount = b.amount + 1 WHERE b IN ( :books ) ``` The problem is that b.amount can be or a NULL value or an int, and if there is a NULL value it should behave as b.amount would be equal to 1. Is there any "cast" in JPA/JPQL or any other way to work-around this problem, Thank you in advance, Regards, P

Original source