You are on page 1of 2

GenericDao.

java

package br.hibernate.dao;

import java.io.Serializable;

public class GenericDao {

public GenericDao() {}

protected Session getSession(){

Session session = HibernateUtil.getInstance().getSession();


return session;

protected void saveOfUpdatePojo(Serializable pojo){

Session sess = getSession();

try{
sess.saveOrUpdate(pojo);
sess.beginTransaction().commit();

}catch (Exception ex){

sess.beginTransaction().rollback();

}finally{

sess.close();
}

protected void removePojo(Serializable pojo){

Session sess = getSession();

try{
sess.delete(pojo);
sess.beginTransaction().commit();

}catch (Exception ex){

sess.beginTransaction().rollback();

}finally{
sess.close();
}

@SuppressWarnings("unchecked")
protected <T extends Serializable> T getPojo(Class<T> classToSearch, Serializable
primaryKey){

Session ses = getSession();


Serializable toReturn = (Serializable) ses.get(classToSearch, primaryKey);
ses.beginTransaction().commit();
ses.close();

return (T)toReturn;

Page 1
GenericDao.java

protected Serializable getPurePojo(String query, Object... params){

Session ses = getSession();


Query qr = ses.createQuery(query);

for(int i=0 ; i <= params.length ; i++){

qr.setParameter(i, params[i-1]);

Object toReturn = qr.uniqueResult();


ses.beginTransaction().commit();
ses.close();

return (Serializable) toReturn;

@SuppressWarnings("unchecked")
protected <T extends Serializable> List<T> getPurelistPojo(Class<T> classToCast,
String query /*, Object... params*/){

Session ses = getSession();


Query qr = ses.createQuery(query);

/*for(int i=0 ; i <= params.length ; i++){

qr.setParameter(i, params[i+1]);

}*/

List<T> toReturn = qr.list();


ses.beginTransaction().commit();
ses.close();

return toReturn;

}
}

Page 2

You might also like