É eu não sei se estou fazendo certo mais uso Hibernate no meu sistema, e fiz a classe HibernateUtil, então pelo que eu li o hibernateutil faz a conexão com o banco e me libera uma sessão essa sessão eu fecho ela toda hora depois de fazer a consulta com o BD postgre.
hibernate.properties
hibernate.connection.driver_class = org.postgresql.Driver
hibernate.connection.url = jdbc:postgresql://localhost:5432/postgres
hibernate.connection.username = postgres
hibernate.connection.password = a1b2c3d4
hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
hibernate.connection.provider_class = org.hibernate.connection.C3P0ConnectionProvider
hibernate.c3p0.min_size=1
hibernate.c3p0.max_size=200
hibernate.c3p0.timeout=14400
hibernate.c3p0.max_statements=0
hibernate.c3p0.minPoolSize=1
hibernate.c3p0.maxIdleTime=60
hibernate.c3p0.idleConnectionTestPeriod=60
hibernate.c3p0.maxIdleTimeExcessConnections=10
hibernate.show_sql = true
hibernate.format_sql = true
Classe HibernateUtil
package br.com.projeto_gerencial.hibernate_util;
/**
*
* @author AdilsonBad
*/
import java.io.FileInputStream;
import java.util.Properties;
import javax.swing.JOptionPane;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
import org.jasypt.properties.EncryptableProperties;
public class HibernateUtil {
private static SessionFactory FabricaSessoes;
static
{
try
{
StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
encryptor.setPassword("SGC_DataBase");
//
Properties props = new EncryptableProperties(encryptor);
//
props.load(new FileInputStream("hibernate.properties"));
//
props.setProperty("hibernate.connection.password", props.getProperty("hibernate.connection.password"));
//
FabricaSessoes = new Configuration().setProperties(props).configure().buildSessionFactory();
}
catch (Exception erro)
{
JOptionPane.showMessageDialog(null, "Erro na fabrica de sessões.: " + erro);
FabricaSessoes = null;
}
}
/*
* Cria Método que retorna uma Sessão
*/
public static Session getSession()
{
return FabricaSessoes.openSession();
}
}
Como uso ela no meu sistema, exemplo abaixo:
public Boolean cadastrarFaixaHorario(FaixaHorario faixaHorario)
{
Boolean retorno = false;
try
{
Session sessao = HibernateUtil.getSession();
Transaction tx_faixaHorario = sessao.beginTransaction();
sessao.save(faixaHorario);
tx_faixaHorario.commit();
sessao.close();
retorno = true;
}
catch (Exception erro)
{
JOptionPane.showMessageDialog(null, "Erro na inserção: " + erro);
}
return retorno;
}
Será que nesse processo tem algo errado. Meu sistema com os .jar externos estão dando 30mb, somente o .jar do sistema tem 1mb, li alguma coisa sobre webService mais não cheguei a me aprofundar no assunto, o que me aconselha?