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
new file mode 100644
index 0000000000000000000000000000000000000000..3f7a648ec2e866f702256e4d04df6f2a08f78b86
--- /dev/null
+++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/score/ScoreDAOBean.java
@@ -0,0 +1,52 @@
+package uy.edu.fing.tse.central.db.dao.score;
+
+import uy.edu.fing.tse.central.db.entity.Calificacion;
+import uy.edu.fing.tse.central.db.mapper.MyMapper;
+import uy.edu.fing.tse.dto.Score;
+
+import javax.annotation.PostConstruct;
+import javax.ejb.Stateless;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Stateless
+public class ScoreDAOBean implements ScoreDaoLocal {
+
+    @PersistenceContext(unitName = "central")
+    private EntityManager em;
+
+    @PostConstruct
+    void init() {
+        //Despues del constructor hace esto
+    }
+
+    @Override
+    public void create(Score elem) {
+        final var r = MyMapper.INSTANCE.convert(elem);
+        em.persist(r);
+        em.flush();
+    }
+
+    @Override
+    public Score find(String key) {
+        final var query = em.createNamedQuery("Calificacion.findByValue", Calificacion.class);
+        query.setParameter("val", key);
+        final var r = query.getSingleResult();
+        return MyMapper.INSTANCE.convert(r);
+    }
+
+    @Override
+    public Score find(Long id) {
+        final var r = em.find(Calificacion.class, id);
+        return MyMapper.INSTANCE.convert(r);
+    }
+
+    @Override
+    public List<Score> findAll() {
+        final var query = em.createNamedQuery("Calificacion.findAll", Calificacion.class);
+        final List<Calificacion> r = query.getResultList();
+        return r.stream().map(MyMapper.INSTANCE::convert).collect(Collectors.toList());
+    }
+}
diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/score/ScoreDaoLocal.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/score/ScoreDaoLocal.java
new file mode 100644
index 0000000000000000000000000000000000000000..d904c08c954cc54308b5b3a906daa7d9fd80c5be
--- /dev/null
+++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/score/ScoreDaoLocal.java
@@ -0,0 +1,11 @@
+package uy.edu.fing.tse.central.db.dao.score;
+
+import uy.edu.fing.tse.central.db.dao.GenericDao;
+import uy.edu.fing.tse.dto.Score;
+
+import javax.ejb.Local;
+
+@Local
+public interface ScoreDaoLocal extends GenericDao<Score> {
+
+}
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 711f76afbdeb4163c4db1b7a59ae6e95c8c22592..43569f15ccf61a06b2dbd0d42549c2ca76d601e0 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
@@ -27,7 +27,7 @@ public class UserDAOBean implements UserDaoLocal {
 
 
     @Override
-    public void register(User user) {
+    public void create(User user) {
         if (user instanceof UserBO) _register((UserBO) user);
         else _register((UserFO) user);
     }
@@ -58,6 +58,12 @@ public class UserDAOBean implements UserDaoLocal {
         return MyMapper.INSTANCE.convert(usuario);
     }
 
+    @Override
+    public User find(Long id) {
+        final var e = em.find(Usuario.class, id);
+        return MyMapper.INSTANCE.convert(e);
+    }
+
     @Override
     public List<User> findAll() {
         final var query = em.createNamedQuery("Usuario.findAll", Usuario.class);
diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/user/UserDaoLocal.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/user/UserDaoLocal.java
index 0849cb6eb96bf5e85150135801fefdd81aae4e90..2fc42260ffdf63f8ab10479fea98afc8106f8262 100644
--- a/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/user/UserDaoLocal.java
+++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/dao/user/UserDaoLocal.java
@@ -1,16 +1,11 @@
 package uy.edu.fing.tse.central.db.dao.user;
 
+import uy.edu.fing.tse.central.db.dao.GenericDao;
 import uy.edu.fing.tse.dto.User;
 
 import javax.ejb.Local;
-import java.util.List;
 
 @Local
-public interface UserDaoLocal {
+public interface UserDaoLocal extends GenericDao<User> {
 
-    void register(User user);
-
-    User find(String mail);
-
-    List<User> findAll();
 }
diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/entity/Calificacion.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/entity/Calificacion.java
index 7a9167040073525421e90c89d865012f7e54f5c2..423e8a0c9952c1f5fb6b3126ff89b6c9d08dc01b 100644
--- a/central-db/src/main/java/uy/edu/fing/tse/central/db/entity/Calificacion.java
+++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/entity/Calificacion.java
@@ -6,6 +6,10 @@ import javax.persistence.*;
  * Esta es la que puede ser vergonzosa, verdad a media, verdad, falsa
  */
 @Entity
+@NamedQueries({
+        @NamedQuery(name = "Calificacion.findAll", query = "select e from Calificacion e"),
+        @NamedQuery(name = "Calificacion.findByValue", query = "select e from Calificacion e where e.value = :val")
+})
 public final class Calificacion {
 
     @Id
diff --git a/central-db/src/main/java/uy/edu/fing/tse/central/db/entity/UsuarioBO.java b/central-db/src/main/java/uy/edu/fing/tse/central/db/entity/UsuarioBO.java
index b0126c1a7455e764805d4677016dac06a041ad7f..035fe971f50c2f56432169e2aeee702c234cffc4 100644
--- a/central-db/src/main/java/uy/edu/fing/tse/central/db/entity/UsuarioBO.java
+++ b/central-db/src/main/java/uy/edu/fing/tse/central/db/entity/UsuarioBO.java
@@ -2,6 +2,7 @@ package uy.edu.fing.tse.central.db.entity;
 
 import javax.persistence.Column;
 import javax.persistence.Entity;
+import javax.persistence.FetchType;
 import javax.persistence.ManyToOne;
 
 @Entity
@@ -13,7 +14,7 @@ public class UsuarioBO extends Usuario {
     @Column(nullable = false)
     private String password;
 
-    @ManyToOne
+    @ManyToOne(fetch = FetchType.EAGER)
     private Rol role;
 
     public String getSalt() {
diff --git a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/Business.java b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/Business.java
index 1092ee4f45a58a733873a578c55394fa9ef62c8d..be444124b67c4ee09b21b4615ea32e9a0be39abb 100644
--- a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/Business.java
+++ b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/Business.java
@@ -19,5 +19,9 @@ public interface Business extends Serializable {
     void altaRol(Role role);
 
     void altaEstado(State state);
+
+    List<Role> listarRoles();
+
+    void altaCalificacion(Score e);
 }
 
diff --git a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/BusinessBean.java b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/BusinessBean.java
index 88af433d77fc0806630f58671e4ab94b850790d1..cd54e94742c282d13b636da4df2478d55efd735f 100644
--- a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/BusinessBean.java
+++ b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/BusinessBean.java
@@ -5,6 +5,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import uy.edu.fing.tse.central.db.dao.fact.FactDaoLocal;
 import uy.edu.fing.tse.central.db.dao.role.RoleDaoLocal;
+import uy.edu.fing.tse.central.db.dao.score.ScoreDaoLocal;
 import uy.edu.fing.tse.central.db.dao.state.StateDaoLocal;
 import uy.edu.fing.tse.central.db.dao.user.UserDaoLocal;
 import uy.edu.fing.tse.dto.*;
@@ -28,6 +29,8 @@ public class BusinessBean implements BusinessLocal, BusinessRemote {
     private StateDaoLocal estados;
     @EJB
     private RoleDaoLocal roles;
+    @EJB
+    private ScoreDaoLocal calificacion;
 
     @PostConstruct
     void init() {
@@ -65,5 +68,14 @@ public class BusinessBean implements BusinessLocal, BusinessRemote {
         roles.create(role);
     }
 
+    @Override
+    public List<Role> listarRoles() {
+        return roles.findAll();
+    }
+
+    @Override
+    public void altaCalificacion(Score e) {
+        calificacion.create(e);
+    }
 
 }
diff --git a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/security/SecurityBean.java b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/security/SecurityBean.java
index 5d835dc2c1720e2e6734c5dafb705b01fd22f4e4..febfcb09ec837f31de46657b195bab97f1bb5df9 100644
--- a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/security/SecurityBean.java
+++ b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/security/SecurityBean.java
@@ -32,7 +32,7 @@ public class SecurityBean implements SecurityLocal, SecurityRemote {
         p.setSalt(salt);
         final var newPassword = Secure.encriptPBKDF(p.getPassword(), salt);
         p.setPassword(newPassword);
-        dao.register(p);
+        dao.create(p);
         return dao.find(p.getMail());
     }
 
diff --git a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/startup/Config.java b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/startup/Config.java
index 93784719bfa039eb10b126e41293decdcecfc8ec..9867e16e73bd6333f4e1c0846a948dd44aa20587 100644
--- a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/startup/Config.java
+++ b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/startup/Config.java
@@ -23,7 +23,9 @@ public class Config {
     @PostConstruct
     public void start() {
         initRole();
-        //initUsers();
+        initUsers();
+        initEstados();
+        initScore();
         //initFacts();
     }
 
@@ -73,6 +75,52 @@ public class Config {
         users.register(u);
     }
 
+    private void initEstados() {
+        //Nuevo, aComprobar, enProceso, Verificado, Publicado, Cancelado
+        State e = new State();
+        e.setValue("Nuevo");
+        negocio.altaEstado(e);
+
+        e = new State();
+        e.setValue("A Comprobar");
+        negocio.altaEstado(e);
+
+        e = new State();
+        e.setValue("En Proceso");
+        negocio.altaEstado(e);
+
+        e = new State();
+        e.setValue("Verificado");
+        negocio.altaEstado(e);
+
+        e = new State();
+        e.setValue("Publicado");
+        negocio.altaEstado(e);
+
+        e = new State();
+        e.setValue("Cancelado");
+        negocio.altaEstado(e);
+    }
+
+    private void initScore() {
+        //vergonzosa, verdad a media, verdad, falsa
+        Score e = new Score();
+        e.setValue("vergonzosa");
+        negocio.altaCalificacion(e);
+
+        e = new Score();
+        e.setValue("Verdad a medias");
+        negocio.altaCalificacion(e);
+
+        e = new Score();
+        e.setValue("Verdad");
+        negocio.altaCalificacion(e);
+
+        e = new Score();
+        e.setValue("Falsa");
+        negocio.altaCalificacion(e);
+    }
+
     private void initFacts() {
         String[] titulos = new String[10];
         String[] descripciones = new String[10];