Foros del Web » Programación para mayores de 30 ;) » Java »

Hibernate no me abre una sesion nueva

Estas en el tema de Hibernate no me abre una sesion nueva en el foro de Java en Foros del Web. Hola a todos, estoy haciendo una aplicacion web utilizando Hibernate y Struts y he estado configurando y probando mi base de datos usando hibernate offline, ...
  #1 (permalink)  
Antiguo 22/01/2012, 19:17
 
Fecha de Ingreso: enero-2012
Mensajes: 5
Antigüedad: 12 años, 10 meses
Puntos: 0
Hibernate no me abre una sesion nueva

Hola a todos, estoy haciendo una aplicacion web utilizando Hibernate y Struts y he estado configurando y probando mi base de datos usando hibernate offline, es decir, ejecutando desde una clase con un metodo main y rellenando a pelo los campos de las tablas y funciona perfecto. El problema llega cuando lo ejecuto como una aplicacion web, que no consigue abrirme una sesion para conectar con la base de datos... pongo mi codigo:

Es muy sencillo...

private void iniciaOperacion() throws HibernateException
{
//LA APLICACION SE QUEDA EN ESTA LINEA...
sesion = NewHibernateUtil.getSessionFactory().getCurrentSes sion();
tx = sesion.beginTransaction();
}

public Usuarios obtenUsuario(String email) throws HibernateException
{
Usuarios usuario = null;
try
{
iniciaOperacion();
usuario = (Usuarios)sesion.get(Usuarios.class, email);
}catch(HibernateException he)
{
manejaExcepcion(he);
throw he;
}finally
{
sesion.close();
}
return usuario;
}

//ESTE ES EL ARCHIVO DE CONFIGURACION DE HIBERNATE...
//EL HIBERNATEUTIL ME LO GENERA AUTOMATICAMENTE NETBEANS...
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MyS QLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql .jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/bolsaTrabajoDB</property>
<property name="hibernate.current_session_context_class">thr ead</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.show_sql">true</property>

<mapping resource="model/mapping/Usuarios.hbm.xml"/>
<!--<mapping resource="model/mapping/Candidaturas.hbm.xml"/>-->
<mapping resource="model/mapping/Empresas.hbm.xml"/>
<mapping resource="model/mapping/Ofertas.hbm.xml"/>
</session-factory>
</hibernate-configuration>



Espero que puedan ayudarme. Muchas gracias de antemano. Un saludo.
David.
  #2 (permalink)  
Antiguo 23/01/2012, 02:35
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 2 meses
Puntos: 188
Respuesta: Hibernate no me abre una sesion nueva

Igual tienes que re-generar el archivo de configuración de hibernate adaptado a un entorno web, veo cosas como <property name="hibernate.current_session_context_class">thr ead</property> que no parecen preparadas para una aplicación web, además que los tags para web se generan de forma como:

<beans xmlns="http://www.springframework.org/schema/beans" ...

<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSes sionFactoryBean">

etc...
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 23/01/2012, 02:39
 
Fecha de Ingreso: enero-2012
Mensajes: 5
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Hibernate no me abre una sesion nueva

Muchas gracias por responder tan rapidamente. Es que hibernate no puede usarse en aplicaciones web sin estar integrado con Spring? Lo que yo he hecho esta basado en un tutorial en el que se hacia una aplicacion web con Hibernate y Struts, sin usar Spring... Si pudieras aclararme un poco mas esto, te estaria muy agradecido. Un saludo.
David.
  #4 (permalink)  
Antiguo 23/01/2012, 04:24
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 2 meses
Puntos: 188
Respuesta: Hibernate no me abre una sesion nueva

Perdón, es que lo único que he visto de hibernate es asociado a Spring.

Échale un vistazo a este documento y mira si puedes aprovechar algo ;)

http://www.laliluna.de/download/stru...utorial-en.pdf

Especialmente a:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url">jdbc:postgresql://localhost/libraryweb</property>
<property name="connection.username">postgres</property>
<property name="connection.password">p</property>
<property name="connection.driver_class">org.postgresql.Driv er</property>
<property name="dialect">org.hibernate.dialect.PostgreSQLDia lect</property>
</session-factory>
</hibernate-configuration>
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #5 (permalink)  
Antiguo 23/01/2012, 05:42
 
Fecha de Ingreso: enero-2012
Mensajes: 5
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Hibernate no me abre una sesion nueva

Cita:
Iniciado por Fuzzylog Ver Mensaje
Perdón, es que lo único que he visto de hibernate es asociado a Spring.

Échale un vistazo a este documento y mira si puedes aprovechar algo ;)

[url]http://www.laliluna.de/download/struts-hibernate-integration-tutorial-en.pdf[/url]

Especialmente a:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url">jdbc:postgresql://localhost/libraryweb</property>
<property name="connection.username">postgres</property>
<property name="connection.password">p</property>
<property name="connection.driver_class">org.postgresql.Driv er</property>
<property name="dialect">org.hibernate.dialect.PostgreSQLDia lect</property>
</session-factory>
</hibernate-configuration>
Muchas gracias por responder tan rapidamente. Al final ya lo he solucionado. El problema era que reinstale el servidor y se me olvido añadirle el pool de conexiones. Ya lo he añadido y funciona. Muchas gracias. Un saludo.
David.

Etiquetas: clase, hibernate, mysql, netbeans, aplicaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:15.