Apartado 3.6: Conceptos Avanzados de Hibernate
Apartado 3.6: Conceptos Avanzados de Hibernate
Apartado 3.6: Conceptos Avanzados de Hibernate
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”)