Duvida EJB + Facade

Olá pessoal,

Estou vindo do VB6 e minha duvida é em relação a um formulário com cabeçalho e itens, digamos assim:

Tenho contratofacade.delete e itemcontratofacade.delete dentro do mesmo MB.

Aí na rotina deleteContrato dentro do ContratoMB tenho o seguinte:

for (ItemContrato i : allItensContrato){
     itemcontratoFacade.delete(i);  //deleta itens
}
contratoFacade.delete(contrato); //deleta cabeçalho após deletar os itens

Testei, e isto é funcional.
Mas, estaria correto desta forma?
Se houver algum objeto com erro no List ele ja vai ter excluído outros itens. Seria esta a forma correta de implementar?
Estou procurando algo como um rollback, mas tudo é gerenciado pelo container.
Meu projeto é baseado no exemplo do Hebert:
http://uaihebert.com/?p=836
Desde já, obrigado.

Quem tem o controle de transação é o EJB, então você ter que criar um método no EJB que ao remover um contrato também remova os itens, assim caso dê algum erro será feito o rollback.
Ou seja esta lógica de negócio (apagar os itens e o contrato) deve estar implementada no EJB.

Certo Bombbr, muito obrigado pelo seu auxílio.
Só me ocorreu uma outra dúvida, espero não estar abusando do seu auxílio.
Se eu vou alterar tenho o contratoFacade.update(Contrato). Mas no caso de uma alteração, devo enviar também um list com os itens?
contratoFacade.update(Contrato, listItensContrato) e assim alterar os itens?
Obrigado