Hola a todos, tengo la siguiente consulta, resulta que trato de no trabajar en memoria con la base de datos, es decir no tener una total dependencia a las colecciones, y hasta para crear y editar lo logro, estoy trabajando con una solución genérica, como ven:
Manejadora.java
Código Java:
Ver original if(this.checkUniqueKey(objeto)){
}
else {
FacadeBroker.getInstance().guardame(this.getDates(objeto), this.getTable());
}
}
T aux = this.findById(Conversiones.CInt(getDates(objeto)[0]));
if(!aux.equals(objeto)){
if(this.checkUniqueKey(objeto)){
}
}
FacadeBroker.getInstance().modificame(this.getDates(objeto), this.getTable());
}
pero cuando se trata de borrar, no sé cómo poner la excepción en esta solución genérica:
Código Java:
Ver originalpublic void delete
(T objeto
)throws Exception { try {
FacadeBroker.getInstance().eliminame(this.getTable(), this.getDeleteCondition(objeto));
}
System.
out.
println(ex.
getMessage()); }
}
protected boolean checkDelete(){ return false; }
protected String getDeleteCondition
(T objeto
) { return null; } protected String getTable
() { return null; }
ManCargos.java
Código Java:
Ver original@Override
return "cargos";
}
@Override
protected boolean checkDelete() {
return true;
}
@Override
protected String getDeleteCondition
(Cargo objeto
) { String query
= " where carId =" +objeto.
getId(); if(this.checkDelete()){
query +=" and carId not in (select distinct carId from personas)";
}
return query;
}
La idea que las cargos no se borren si están asignados a personas, pero ¿cómo trato la excepción para el caso de las bajas?
Espero sus respuestas y saludos.