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 originalpackage com.spring.dao.impl;
import java.util.List;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.spring.dao.PersonaDao;
import com.spring.model.Persona;
public class PersonaDaoImpl implements PersonaDao {
@Autowired
private SessionFactory sessionFactory;
public List<Persona> getPersonsList() {
@SuppressWarnings("unchecked")
List<Persona> personas = sessionFactory.getCurrentSession()
.createQuery("from persona").list();
return personas;
}
}
Código Java:
Ver originalpackage com.spring.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.spring.model.Persona;
import com.spring.service.PersonaService;
@Controller
public class PersonaController {
@Autowired
private PersonaService personaService; //interface
@RequestMapping("/inicio.htm")
public void inicio() {
// show the homepage
}
@RequestMapping("/personList.htm")
public void personList(Model model) {
List<Persona> personas = personaService.getPersonsList();
model.addAttribute("personas", personas);
}
}
Y este es mi otro xml
Código XML:
Ver original<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package="com.spring"/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
</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.