L'accès SessionFactory de Printemps de Démarrage de l'Application

Je suis en train d'essayer d'obtenir l'accès à la session Hibernate usine mais obtiens l'erreur suivante à la ligne mentionnée.

No CurrentSessionContext configured!

code

@Service
@Transactional
public class GenericSearchImpl implements GenericSearch {

    @Autowired
    private EntityManagerFactory entityManagerFactory;

    @Override
    @SuppressWarnings("unchecked")
    public <T> List<T> search(final Class<T> type, final String[] criteriaList, final int page, final int perPage) {
        Session session = getSession();
        ...
    }

    public Session getSession() {
        final HibernateEntityManagerFactory emFactory = (HibernateEntityManagerFactory) entityManagerFactory;
        final SessionFactory sessionFactory = emFactory.getSessionFactory(); 
        return sessionFactory.getCurrentSession(); //ERROR No CurrentSessionContext configured!

          //This worked but I understand it to be BAD as spring should be managing open sessions.
          //       try {
          //           return sessionFactory.getCurrentSession();
          //       } catch (Exception e) {
          //           return sessionFactory.openSession();
          //       }
    }

    ...

}

Aucune idée pourquoi?

  • JPA ne pas utiliser le CurrentSessionContext classe. Une configuration qui devrait résoudre votre problème. Il suffit d'ajouter la configuration de la session en cours du contexte et de le laisser point à la org.springframework.orm.hibernate4.SpringSessionContext classe. Cependant, pourquoi essayez-vous cela? Pourquoi ne pas utiliser simplement de l'APP?
  • Je suis en train de faire de ce support un code existant qui est de l'utilisation d'Hibernate Critères. Il finira par être convertie à la JPA. Le reste de l'application est à l'aide de spring-data-jpa, j'ai seulement besoin d'Hibernate SessionFactory temporairement jusqu'à ce qu'il peut être réécrit. Une approche hybride comme ce travail? Pouvez-vous donner un exemple de configuration de CurrentSessionContext comme un printemps haricot de java config?
  • this ce que tu veux dire?
  • Oui, il est (et comme c'est essentiellement la même question, marqué cette une en double).
  • stackoverflow.com/questions/18759978/.... Veuillez consulter cette. Vous montre exactement comment cela peut être fait.
  • J'ai suivi le tutoriel mais encore obtenir No CurrentSessionContext configured!
  • Juste fait une mise à jour sur ce, il manque un élément crucial de la configuration de la propriété.

InformationsquelleAutor jax | 2015-03-24