Hibernate listar registros en JTable | Java
Para que lo entiendas de mejor manera deberías comenzar haciendo click aquí e ir pasando cada post revisando cómo funciona Hibernate.
Con este framework es muy sencillo listar los registros desde una base de
datos en un JTable, ya que nos proporciona métodos bastantes sencillos.
@Override
public List<T> getAll() {
Transaction transaction = null;
List<T> entities = null;
try (Session session = HibernateUtil.getSessionFactory().openSession()) {
transaction = session.beginTransaction();
CriteriaBuilder criteriaBuilder = session.getCriteriaBuilder();
CriteriaQuery<T> criteriaQuery = criteriaBuilder.createQuery(entity);
Root<T> root = criteriaQuery.from(entity);
TypedQuery<T> typedQuery = session.createQuery(criteriaQuery.select(root));
entities = typedQuery.getResultList();
transaction.commit();
} catch (Exception e) {
e.printStackTrace();
if (transaction != null)
transaction.rollback();
}
return entities;
}
El método anterior está incluido en la clase genérica que puedes ver haciendo
click aquí, esto es lo que devuelve una lista con todos los registros desde la base de
datos.
public class RoleDAO extends GenericDAO<Role> {
public RoleDAO() {
super(Role.class);
}
}
En esta clase anteriormente mostrada simplemente heredamos de GenericDAO.java que tiene el método que primero se añadió simplemente decimos que este objeto de acceso a los datos va a contener a la entidad denominada Role (roles de usuario).
public class RoleController implements Serializable {
private static final long serialVersionUID = 1L;
private RoleDAO dao;
public RoleController() {
dao = new RoleDAO();
}
public List<Role> getItems() {
return dao.getAll();
}
}
La clase anterior es un controlador que tiene como función pública el retorno de una lista de la entidad Role y obtenemos los datos desde DAO(Data Access Object).
private void fillTable() {
List<Role> items = new RoleController().getItems();
for (Role role : items)
tableModel.addRow(new Object[] { role.getId(), role.getName(), role.getDescription(), role.getStatus() });
}
Finalmente este método es el que llena la tabla con los datos, simplemente llamamos al controlador y obtenemos los ítems o registros y recorremos la lista añadiendo una fila al modelo de la tabla, si no comprendes aún te invitamos a que hagas click aquí donde listamos elementos en la JTable incluyendo el modelo.
Comentarios
Publicar un comentario