br.edu.ifpe.garanhuns.ppo.pep.models.persistence.management.DaoManagerHiberRever.java Source code

Java tutorial

Introduction

Here is the source code for br.edu.ifpe.garanhuns.ppo.pep.models.persistence.management.DaoManagerHiberRever.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.edu.ifpe.garanhuns.ppo.pep.models.persistence.management;

import java.util.List;
import javax.persistence.EntityManager;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.id.UUIDGenerator;
import org.hibernate.tool.hbm2ddl.SchemaExport;

/**
 * I got this class from an old project. May not working correctly, still to
 * review.
 *
 * @author Katarina
 */
public class DaoManagerHiberRever {

    private static DaoManagerHiberRever myself = null;

    private SessionFactory sessionFactory;
    private Session session;

    private DaoManagerHiberRever() {
        Configuration cfg = new Configuration().configure("hibernate.cfg.xml");

        sessionFactory = cfg.buildSessionFactory(); //ver isso depois
        session = sessionFactory.openSession();

    }

    public static DaoManagerHiberRever getInstance() {
        if (myself == null) {
            myself = new DaoManagerHiberRever();
        }
        return myself;
    }

    public void incluir(Object o) {
        Transaction transaction = null;

        try {
            session = sessionFactory.openSession();

            transaction = session.beginTransaction();

            session.save(o);

            transaction.commit();

            session.close();
        } catch (Exception e) {
            transaction.rollback();
        }
    }

    public List recuperar(String hql) {
        Transaction transaction = null;

        session = sessionFactory.openSession();

        transaction = session.beginTransaction();

        Query query = session.createQuery(hql);

        return query.list();
    }

    public void atualizar(Object o) {
        Transaction transaction = null;

        try {
            session = sessionFactory.openSession();
            transaction = session.beginTransaction();
            session.update(o);

            transaction.commit();
            session.close();
        } catch (Exception e) {
            transaction.rollback();
        }
    }

    public void excluir(Object o) {
        Transaction t = null;

        try {
            session = sessionFactory.openSession();

            t = session.beginTransaction();
            session.delete(o);

            t.commit();
            session.close();
        } catch (Exception e) {
            t.rollback();
        }
    }

    public static void main(String[] args) {
        SchemaExport se = new SchemaExport(new Configuration().configure());
        se.create(true, true);
    }
}