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

spring+hibernate, getEmpresa() no funciona

Estas en el tema de spring+hibernate, getEmpresa() no funciona en el foro de Java en Foros del Web. Hola Estoy haciendo una aplicación web con spring e hibernate, y a la hora de recuperar una empresa, pasandole el CIF, no me funciona. Pongo ...
  #1 (permalink)  
Antiguo 01/09/2008, 02:05
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 3 meses
Puntos: 1
spring+hibernate, getEmpresa() no funciona

Hola
Estoy haciendo una aplicación web con spring e hibernate, y a la hora de recuperar una empresa, pasandole el CIF, no me funciona. Pongo el trozo de código del controlador con la línea subrayada donde falla:

if (CIF!=null){
empresa = empresaServicio.getEmpresa(CIF);
alumno.setEmpresa(empresa);
}


Parte de código correspondiente de empresaServicio:

public Empresa getEmpresa(String CIF) {
return (Empresa) empresaDaoImp.getEmpresa(CIF);
}

Parte de código correspondiente a empresaDaoImp:

public Empresa getEmpresa(String CIF) {
return (Empresa) getHibernateTemplate().get(Empresa.class, CIF);
}

Empresa.hbm.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>

<class name="org.logica.dominio.Empresa" table="empresa">

<id
name="CIF"
type="java.lang.String"
column="CIF"
>
<generator class="assigned" />
</id>

<property
name="nombre"
type="java.lang.String"
column="nombre"
not-null="false"
/>
<property
name="direccion"
type="java.lang.String"
column="direccion"
not-null="false"
/>
<property
name="localidad"
type="java.lang.String"
column="localidad"
not-null="false"
/>
<property
name="CP"
type="java.lang.String"
column="CP"
not-null="false"
/>
<property
name="provincia"
type="java.lang.String"
column="provincia"
not-null="false"
/>
<property
name="pais"
type="java.lang.String"
column="pais"
not-null="false"
/>
<property
name="areasInteres"
type="java.lang.String"
column="areasInteres"
not-null="false"
/>
<property
name="horario"
type="java.lang.String"
column="horario"
not-null="false"
/>

<set name="alumnos" inverse = "true" cascade="all-delete-orphan" lazy="false">
<key column="CIF" not-null="false" />
<one-to-many class="org.logica.dominio.Alumno"/>
</set>

<set name="profesores" inverse = "true" cascade="all-delete-orphan" lazy="false">
<key column="CIF" not-null="false" />
<one-to-many class="org.logica.dominio.Profesor"/>
</set>


<set name="emails" table="emails">
<key column="CIF" not-null="false" />
<element column="email" type="java.lang.String"/>
</set>



<set name="faxes" table="faxes">
<key column="CIF" not-null="false" />
<element column="fax" type="java.lang.String"/>
</set>



<set name="telefonos" table="telefonos">
<key column="CIF" not-null="false" />
<element column="telefono" type="java.lang.String"/>
</set>

</class>

</hibernate-mapping>

y por último la excepción que salta:

GRAVE: Servlet.service() para servlet spring lanzó excepción
java.lang.NullPointerException

Saludos!
  #2 (permalink)  
Antiguo 01/09/2008, 16:02
 
Fecha de Ingreso: marzo-2008
Mensajes: 18
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: spring+hibernate, getEmpresa() no funciona

Si pones todo el stack del exception seria mejor, pero asi como de reojo, me parece que no estas inicializando bien:

empresaServicio

Ya sea que 'empresaServicio' la estes inyectando con spring o seteando tu misma, tienes que asegurarte que se inicialice bien....

Igual, seria mejor que pusieras todo el stack
  #3 (permalink)  
Antiguo 02/09/2008, 00:37
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: spring+hibernate, getEmpresa() no funciona

Hola FabianIB
¿A que te refieres con que podría ser por no inicializar bien empresaServicio? Te pondría la traza entera, pero ahora tengo otro problemilla y mientras no arregle ese no volverá a salir la traza completa. Comentame el fallo del que hablas.
Saludos!!
  #4 (permalink)  
Antiguo 02/09/2008, 01:02
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: spring+hibernate, getEmpresa() no funciona

GRAVE: Servlet.service() para servlet spring lanzó excepción
java.lang.NullPointerException
at org.control.controladores.ControladorAlumno.handle Request(ControladorAlumno.java:85)
at org.springframework.web.servlet.mvc.SimpleControll erHandlerAdapter.handle(SimpleControllerHandlerAda pter.java:48)
at org.springframework.web.servlet.DispatcherServlet. doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet. doService(DispatcherServlet.java:809)
at org.springframework.web.servlet.FrameworkServlet.p rocessRequest(FrameworkServlet.java:571)
at org.springframework.web.servlet.FrameworkServlet.d oGet(FrameworkServlet.java:501)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:803)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)

Ahí está lo que sale. Me pasa con el método getEmpresa, getCurso, con todos los que tengo para recuperar los objetos.

La línea 85 de ControladorAlumno es la que tiene el método getEmpresa()

Saludos!!
  #5 (permalink)  
Antiguo 02/09/2008, 05:11
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: spring+hibernate, getEmpresa() no funciona

problema resuelto, me faltaba definir en el fichero de configuración una propiedad del controlador que hacía referencia a empresaServicio.
Saludos!!
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 10:33.