Files
AD-tarea31-sol/README.md

1.2 KiB

Respostas ás preguntas da Tarefa03.1

2- mvn clean generate-sources

12- Se añade la opción cascade en Account.java en los getters de AccMovement

@OneToMany(fetch=FetchType.LAZY, mappedBy="accountByAccountDestId", cascade = CascadeType.REMOVE) public Set getAccMovementsForAccountDestId() { return this.accMovementsForAccountDestId; }

@OneToMany(fetch=FetchType.LAZY, mappedBy="accountByAccountOriginId", cascade = CascadeType.REMOVE) public Set getAccMovementsForAccountOriginId() { return this.accMovementsForAccountOriginId; }

Si no se usasen estas anotaciones, la otra opción sería eliminarlos programáticamente:
  @Override
public void delete(Integer accountno) {
    transactionManager.ejecutar(() -> {
         for (AccMovement accmov : accmovDao.findAll()) {
            if (accmov.getAccountByAccountDestId().getAccountno().equals(accountno) ||
                     accmov.getAccountByAccountOriginId().getAccountno().equals(accountno)) {
                 accmovDao.remove(accmov.getAccountMovId());
             }
        }
        accountDao.remove(accountno);
        return null;
    });
}