J'ai une application en JSF, Spring, Hibernate et Spring sécurité, l'interaction entre la couche d'hibernation et la base de données se passait bien, une fois la couche de sécurité de printemps les requêtes ne restituent rien .Le filtre de sécurité de printemps bloque toutes les requêtes hibernate
Une solution?
Je crée mon SessionFactory à partir du fichier de configuration de mise en veille prolongée
Les filtres à web.xml: ....................
!-- Spring Security -->
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
.................
La session de mise en veille prolongée classe de création d'usine:
............... ............
package Util;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
public class HibernateUtil {
private static SessionFactory sessionFactory;
static {
try {
Configuration configuration = new AnnotationConfiguration();;
configuration.configure();
ServiceRegistry sr = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
sessionFactory = configuration.buildSessionFactory(sr);
} catch (Throwable ex) {
// Log the exception.
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
@Transactional
public class stufImp implements stufDAO , Serializable {
private SessionFactory sf = HibernateUtil.getSessionFactory();
Session session ;
public stufImp() {
}
@Override
public List<Stuf> getAllstufs() {
session=sf.getCurrentSession();
session.beginTransaction();
List<Stuf> stufs= session.createQuery("from Stuf").list();
session.getTransaction().commit();
System.out.println("getting All Stufs");
return stufs;
}
....................
Voir la réponse. Pouvez-vous poster hibernate et la configuration basée sur le printemps aussi. –