postgresql prepared statements with JSONB containment
the error we see is &quot;operator does not exist: jsonb @&gt; text&quot;

I assume you are passing the JSON string via PreparedStatement.setString().
Postgres expects a JSONB value, not a text value. You can easily overcome this by casting the parameter to a jsonb:
select * 
from tab 
where jsonb_obj @&gt; cast(? as jsonb)