Quando faco um bulk delete pela Query:
String hqlDelete = "delete " + BlaBla.class.getName() + " p where p.topic = :topic";
Query delete = createQuery(hqlDelete).setParameter("topic", topic);
delete.executeUpdate();
Eu faco varios bulk deletes em uma transacao só que esta em FlushMode.COMMIT. Esse delete arranca algumas linhas que quebra algumas restricoes de foreign key, só que no proximo bulk delete eu apago os outros, o que zeraria o problema para o commit funcionar.
Só que o Hibernate lança exception ANTES de eu chamar o transaction.commit(), indicando que o delete ele esta chamando diretamente, e isso me da o problema de foreign key:
Caused by: java.sql.SQLException: Cannot delete or update a parent row: a foreign key constraint fails
Alguma ideia para resolver? Sem chances de usar session.delete() pois eu levantaria dezenas de milhares de objetos na memoria.
Ja ate migrei meu projeto que usava hibernate 3.1 para o 3.2cr2 e nada… ele continua comitando ao primeiro bulk delete