diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/GenericDao.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/GenericDao.java
index 9da182f1351c3b54b662f264c903530caa7f2b4d..95c4ef384eb90b4c1b7751e470f3f5eefe43ac49 100644
--- a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/GenericDao.java
+++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/GenericDao.java
@@ -8,6 +8,8 @@ public interface GenericDao<T> {
 
     T update(T elem);
 
+    void remove(T elem);
+
     T find(String key);
 
     T find(Long id);
diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/category/CategoryDAOBean.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/category/CategoryDAOBean.java
index 3e165951c7aac7b447052ba4bb20bc520822ecdd..c8649657ad9b59badd8ec1d608ddd90993fd235f 100644
--- a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/category/CategoryDAOBean.java
+++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/category/CategoryDAOBean.java
@@ -38,6 +38,12 @@ public class CategoryDAOBean implements CategoryDaoLocal {
         return MyMapper.INSTANCE.convert(then);
     }
 
+    @Override
+    public void remove(Category elem) {
+        final var r = em.find(Categoria.class, elem.getId());
+        em.remove(r);
+    }
+
     @Override
     public Category find(String key) {
         final var query = em.createNamedQuery("Categoria.findByName", Categoria.class);
diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/checker/CheckCheckerDAOBean.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/checker/CheckCheckerDAOBean.java
index 38e6606bf444a9387e62a1fca7caf57717398141..d0ddf4cac170ee5de799e1b0cad30445fc0bd915 100644
--- a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/checker/CheckCheckerDAOBean.java
+++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/checker/CheckCheckerDAOBean.java
@@ -38,6 +38,12 @@ public class CheckCheckerDAOBean implements CheckCheckerDaoLocal {
         return MyMapper.INSTANCE.convert(then);
     }
 
+    @Override
+    public void remove(CheckChecker elem) {
+        final var r = em.find(VerificacionChecker.class, elem.getId());
+        em.remove(r);
+    }
+
     @Override
     public CheckChecker find(String key) {
         final var query = em.createNamedQuery("VerificacionChecker.findByFact", VerificacionChecker.class);
diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/mechanism/CheckMechanismDAOBean.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/mechanism/CheckMechanismDAOBean.java
index 2a7cf48ae877ed24ff15ad946a37e9666e43a359..22e013f455b777ebebe561a6b00bd0111013c7bf 100644
--- a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/mechanism/CheckMechanismDAOBean.java
+++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/check/mechanism/CheckMechanismDAOBean.java
@@ -38,6 +38,12 @@ public class CheckMechanismDAOBean implements CheckMechanismDaoLocal {
         return MyMapper.INSTANCE.convert(then);
     }
 
+    @Override
+    public void remove(CheckMechanism elem) {
+        final var r = em.find(VerificacionMecanismo.class, elem.getId());
+        em.remove(r);
+    }
+
     @Override
     public CheckMechanism find(String key) {
         final var query = em.createNamedQuery("VerificacionMecanismo.findByFact", VerificacionMecanismo.class);
diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/fact/FactDAOBean.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/fact/FactDAOBean.java
index 499c7927a9daff9343f9c487e7056393e5c79729..5e008686e7156451c28895622e2d65668b89014a 100644
--- a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/fact/FactDAOBean.java
+++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/fact/FactDAOBean.java
@@ -41,6 +41,12 @@ public class FactDAOBean implements FactDaoLocal {
         return MyMapper.INSTANCE.convert(then);
     }
 
+    @Override
+    public void remove(Fact elem) {
+        final var r = em.find(Hecho.class, elem.getId());
+        em.remove(r);
+    }
+
     @Override
     public Fact find(String key) {
         return find(Long.parseLong(key));
diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/mechanism/MechanismDAOBean.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/mechanism/MechanismDAOBean.java
index e5df8dd5babb417afdc963e8af510f278fe49777..164fafdf45d2e40f42a0b6e42810f413fc533af0 100644
--- a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/mechanism/MechanismDAOBean.java
+++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/mechanism/MechanismDAOBean.java
@@ -38,6 +38,12 @@ public class MechanismDAOBean implements MechanismDaoLocal {
         return MyMapper.INSTANCE.convert(then);
     }
 
+    @Override
+    public void remove(Mechanism elem) {
+        final var r = em.find(Mecanismo.class, elem.getId());
+        em.remove(r);
+    }
+
     @Override
     public Mechanism find(String key) {
         final var query = em.createNamedQuery("Calificacion.findByName", Mecanismo.class);
diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/role/RoleDAOBean.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/role/RoleDAOBean.java
index fec24a8c182df435e22e757e7d88e5fe81a9a0cf..c9cc23f6c50629fba831c8ffa8f17e0ab05bf2b1 100644
--- a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/role/RoleDAOBean.java
+++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/role/RoleDAOBean.java
@@ -38,6 +38,11 @@ public class RoleDAOBean implements RoleDaoLocal {
         return MyMapper.INSTANCE.convert(then);
     }
 
+    @Override
+    public void remove(Role elem) {
+        final var r = em.find(Rol.class, elem.getId());
+        em.remove(r);
+    }
     @Override
     public Role find(String key) {
         final var query = em.createNamedQuery("Rol.findByName", Rol.class);
diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/score/ScoreDAOBean.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/score/ScoreDAOBean.java
index 77d1d54b2f39a0cc29bf49be0b0d94cd7fb55995..d83c3ce075219985781888b393d38ba8c4401b04 100644
--- a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/score/ScoreDAOBean.java
+++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/score/ScoreDAOBean.java
@@ -38,6 +38,12 @@ public class ScoreDAOBean implements ScoreDaoLocal {
         return MyMapper.INSTANCE.convert(then);
     }
 
+    @Override
+    public void remove(Score elem) {
+        final var r = em.find(Calificacion.class, elem.getId());
+        em.remove(r);
+    }
+
     @Override
     public Score find(String key) {
         final var query = em.createNamedQuery("Calificacion.findByValue", Calificacion.class);
diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/state/StateDAOBean.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/state/StateDAOBean.java
index adaa23e829b9c31eddecdb9a2f74f146efc937e4..81af6d917a3cade655330b966113cd48ec872ea5 100644
--- a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/state/StateDAOBean.java
+++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/state/StateDAOBean.java
@@ -38,6 +38,12 @@ public class StateDAOBean implements StateDaoLocal {
         return MyMapper.INSTANCE.convert(then);
     }
 
+    @Override
+    public void remove(State elem) {
+        final var r = em.find(Estado.class, elem.getId());
+        em.remove(r);
+    }
+
     @Override
     public State find(String key) {
         final var query = em.createNamedQuery("Estado.findByValue", Estado.class);
diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/statehistory/StateHistoryDAOBean.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/statehistory/StateHistoryDAOBean.java
index 8c760cd8f8078d54daf9076a874d5810e0a22d52..b087baac5c5a7dc4fb27a078b0ea0f796df05c62 100644
--- a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/statehistory/StateHistoryDAOBean.java
+++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/statehistory/StateHistoryDAOBean.java
@@ -38,6 +38,12 @@ public class StateHistoryDAOBean implements StateHistoryDaoLocal {
         return MyMapper.INSTANCE.convert(then);
     }
 
+    @Override
+    public void remove(StateHistory elem) {
+        final var r = em.find(TransicionEstado.class, elem.getId());
+        em.remove(r);
+    }
+
     @Override
     public StateHistory find(String key) {
         final var query = em.createNamedQuery("TransicionEstado.findByState", TransicionEstado.class);
diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/user/UserDAOBean.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/user/UserDAOBean.java
index 3193af1060576cb3ec93e7552685f4fb2e67a31f..5975915c0e90fc6e3ddbf0196d09b230e3013178 100644
--- a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/user/UserDAOBean.java
+++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/user/UserDAOBean.java
@@ -38,6 +38,12 @@ public class UserDAOBean implements UserDaoLocal {
         return MyMapper.INSTANCE.convert(then);
     }
 
+    @Override
+    public void remove(User elem) {
+        final var r = em.find(Usuario.class, elem.getId());
+        em.remove(r);
+    }
+
     @Override
     public User find(String mail) {
         final var query = em.createNamedQuery("Usuario.findByMail", Usuario.class);