18.01.2015 Views

Apartado 3.6: Conceptos Avanzados de Hibernate

Apartado 3.6: Conceptos Avanzados de Hibernate

Apartado 3.6: Conceptos Avanzados de Hibernate

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Más sobre HQL – Borrados y actualizaciones en masa (2)<br />

<br />

<br />

Para resolver este problema, HQL proporciona las sentencias<br />

DELETE y UPDATE, que permiten borrados y actualizaciones en<br />

masa<br />

<br />

Estas sentencias se ejecutan mediante Query.executeUpdate,<br />

que <strong>de</strong>vuelve el número <strong>de</strong> entida<strong>de</strong>s borradas/actualizadas<br />

Ejemplo<br />

MiniBank: dado que una cuenta bancaria pue<strong>de</strong> tener asociado un<br />

gran conjunto <strong>de</strong> operaciones bancarias (e.g. varios miles), el caso<br />

<strong>de</strong> uso “eliminar una cuenta” se implementa como<br />

<br />

AccountServiceImpl<br />

public void removeAccount(Long accountId)<br />

throws InstanceNotFoundException {<br />

<br />

accountDao.remove(accountId);<br />

accountOperationDao.removeByAccountId(accountId);<br />

}<br />

NOTA: en un banco real, las cuentas y operaciones bancarias no se<br />

eliminan <strong>de</strong> la base <strong>de</strong> datos (las cuentas se <strong>de</strong>jan en estado<br />

“cancelado”)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!