Postgres NOT IN (null) gives no result
The result of [not] in (null) will always be null. To compare to null you need is [not] null or is [not] distinct from null select * from Entity this_ where this_.ID is not null If you want where (ID not in (1,null)) as in your comment you can do where ID is not null … Read more