Isso nao tem nada a ver com o Hibernate. Qualquer ORM será assim

Eu acho que uma solução boa para isso é criar uma VIEW no banco de dadoscom o "where delete is not null" E aí você mapeia no Hibernate essa VIEW e passa a fazer as consultas nela