Há uma correção simples:quando você está construindo a string de consulta, se um parâmetro for nulo - use "null" em vez de "?". Como @araqnid diz, o Hibernate está lançando incorretamente valores nulos no tipo bytea porque não sabe nada melhor.