Java Hibernate DAO for Student Management (AlunoDAO)
AlunoDAO.java
import java.util.List;
import model.Aluno;
import org.hibernate.Criteria;import org.hibernate.Session;import org.hibernate.Transaction;import org.hibernate.criterion.Restrictions;
import util.HibernateUtil;
public class AlunoDAO {
Validating a User
public boolean validaUsuario(String login, String senha) {HibernateUtil.getSession();Session session = ...;Transaction tx = session.beginTransaction();
String query = "from Aluno where login = ? and senha = ?";
List<Aluno> lista = session.createQuery(query).setString(0, login).setString(1, senha).list();
tx.commit();
Aluno aluno = new Aluno();if (lista.size() >= 1) {return true;} else {return false;}}
Listing All Students
/*** @return*/public List<Aluno> list() {HibernateUtil.getSession();Session session = ...;
return session.createCriteria(Aluno.class).list();}
Updating a Student
/*** @param aluno*/public void update(Aluno aluno) {
Any necessary operation performed on the database will use the session. A session may be one or more units of work composed, where each commit or rollback cleans up the session or it becomes useless until a new beginTransaction is called again.
HibernateUtil.getSession();Session session = ...;
Transaction tx = session.beginTransaction();
session.update(aluno);
tx.commit();}
Listing Students (No Filter)
/*** @return*/public List<Aluno> listarFiltro() {HibernateUtil.getSession();Session session = ...;Transaction tx = session.beginTransaction();
List<Aluno> list = session.createQuery("from Aluno").list();
tx.commit();
return list;}
Searching Students by Name and Login
/*** @param nome* @param login* @return*/public List<Aluno> listarPesquisa(String nome, String login) {HibernateUtil.getSession();Session session = ...;Transaction tx = session.beginTransaction();
Criteria crit = session.createCriteria(Aluno.class);
// adds the name to the filter, or notif (nome != null && !nome.equals("")) {crit.add(Restrictions.like("nome", "%" + nome + "%"));}
// adds the login to the filter, or notif (login != null && !login.equals("")) {crit.add(Restrictions.like("login", "%" + login + "%"));}
List<Aluno> list = (List<Aluno>) crit.list();
tx.commit();
return list;}
Getting a Student by ID
/*** @param id* @return*/public Aluno getAluno(String id) {HibernateUtil.getSession();Session session = ...;Transaction tx = session.beginTransaction();
String query = "from Aluno where id = ?";
List<Aluno> lista = session.createQuery(query).setLong(0, Long.parseLong(id)).list();
tx.commit();
Aluno aluno = new Aluno();if (lista.size() >= 1) {aluno = (Aluno) lista.get(0);}
return aluno;}
Deleting a Student
/*** @param aluno*/public void delete(Aluno aluno) {HibernateUtil.getSession();Session session = ...;Transaction tx = session.beginTransaction();
session.delete(aluno);
tx.commit();}
Saving a Student
/*** @param aluno*/public void save(Aluno aluno) {
HibernateUtil.getSession();Session session = ...;Transaction tx = session.beginTransaction();
session.save(aluno);
tx.commit();}