23

StatelessSession である hibernate の特定の機能が必要であり、そのためには Hibernate の SessionFactory が必要です。問題は、entityManagerFactory しかないことです。このシナリオで StatelessSession を取得するにはどうすればよいですか?

4

4 に答える 4

46

オプション 1 からEntityManagerFactory

を使用するHibernate >= 4.3と、から までアクセスJPA 2.1できます。SessionFactoryEntityManagerFactory<T> T EntityManagarFactory#unwrap(Class<T> cls)

SessionFactory sessionFactory = entityManagerFactory.unwrap(SessionFactory.class);

オプション 2 からEntityManager

Hibernate >= 4.3andを使用すると、から にJPA >= 2.0アクセスできます。からを入手できます。SessionEntityManager<T> T EntityManagar#unwrap(Class<T> cls)SessionSessionFactory

Session session = entityManager.unwrap(Session.class);
SessionFactory sessionFactory = session.getSessionFactory();
于 2016-07-21T14:02:06.640 に答える
7

Hibernate >= 4.3 は JPA 2.1 をサポートします。そこで、 emf.unwrap(SessionFactory.class) のように EntityManagerFactory.unwrap を使用できます。

于 2014-06-28T14:11:12.810 に答える
0

このhttp://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/orm.html#orm-session-factory-setupのようにBeanを定義して、注入することで解決しました

于 2013-09-26T20:02:31.180 に答える