Ver Mensaje Individual
  #7 (permalink)  
Antiguo 01/02/2013, 12:57
gebremswar
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 12 años, 10 meses
Puntos: 57
Respuesta: Mapeo de tabla en Spring con Hibernate

Gracias, tu apreciación resolvio el problema de packageToScan (que mostraba error). Actualice´a Hibernate 4.

Pero ahora al ejecutar mi aplicación me muestra este error:

Cita:
SEVERE: Excepción enviando evento inicializado de contexto a instancia de escuchador de clase org.springframework.web.context.ContextLoaderListe ner
org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'transactionManager' defined in ServletContext resource [/WEB-INF/spring-application-context.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/spring-application-context.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/context/spi/CurrentSessionContext

.
.
.
Caused by: org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/spring-application-context.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/context/spi/CurrentSessionContext
En mi xml del segundo mensaje, solo descomenté la linea 39. cabe aclarar que mis beans estan en "com.spring.model" indicado en el packageToScan.

Dejo el codigo de los archivos relevantes:
Código Java:
Ver original
  1. package com.spring.dao.impl;
  2.  
  3. import java.util.List;
  4.  
  5. import org.hibernate.SessionFactory;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Repository;
  8.  
  9. import com.spring.dao.PersonaDao;
  10. import com.spring.model.Persona;
  11.  
  12. public class PersonaDaoImpl implements PersonaDao {
  13.  
  14.     @Autowired
  15.     private SessionFactory sessionFactory;
  16.  
  17.     public List<Persona> getPersonsList() {
  18.         @SuppressWarnings("unchecked")
  19.         List<Persona> personas = sessionFactory.getCurrentSession()
  20.                 .createQuery("from persona").list();
  21.         return personas;
  22.     }
  23. }

Código Java:
Ver original
  1. package com.spring.controller;
  2.  
  3. import java.util.List;
  4.  
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Controller;
  7. import org.springframework.ui.Model;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9.  
  10. import com.spring.model.Persona;
  11. import com.spring.service.PersonaService;
  12.  
  13. @Controller
  14. public class PersonaController {
  15.    
  16.     @Autowired
  17.     private PersonaService personaService; //interface
  18.    
  19.     @RequestMapping("/inicio.htm")
  20.     public void inicio() {
  21.         // show the homepage
  22.     }
  23.    
  24.     @RequestMapping("/personList.htm")
  25.     public void personList(Model model) {
  26.         List<Persona> personas = personaService.getPersonsList();
  27.         model.addAttribute("personas", personas);
  28.     }
  29. }

Y este es mi otro xml
Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3.    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.    xmlns:context="http://www.springframework.org/schema/context"
  5.    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  6.               http://www.springframework.org/schema/context         http://www.springframework.org/schema/context/spring-context-3.0.xsd">
  7.  
  8.     <context:component-scan base-package="com.spring"/>
  9.    
  10.     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  11.         <property name="prefix" value="/WEB-INF/views/"/>
  12.         <property name="suffix" value=".jsp"/>
  13.     </bean>
  14. </beans>

En cuanto a los demás ficheros, estoy siguiendo la mista estructura del articulo que cité en primer mensaje. Las unicas diferencias son en el nombre de dos package: en el articulo "facade" y en mi aplicación "service", como tambien en "beans" y "model" en el mio. Aquí una imagen.


Que es lo que no estoy haciendo bien. Te agradecería que me ayudes a descubrirlo.