When :search or :effort are null, Hibernate passes untyped bind parameters that PostgreSQL infers as bytea, causing `lower(bytea) does not exist`. Explicit CAST(… AS string) tells Hibernate to bind them as varchar. Also fixes the bcrypt hash in V100 dev seed (was wrong, dev/dev now works). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>