Как указал @ m-deinum в комментарии, если вы действительно хотите использовать SessionFactory
, вы можете избежать создания SessionFactory
и использовать внедренный экземпляр EntityManager
для доступа к нему непосредственно в вашем объекте репозитория.
Например:
@Repository
public class MyRepository {
@Autowired
private EntityManagerFactory emf;
public void saveEntity(Foo foo) {
emf.unwrap(SessionFactory.class).getCurrentSession().saveOrUpdate(foo);
}
@Override
public Foo getEntity(Integer id) {
return emf.unwrap(SessionFactory.class).getCurrentSession().get(Foo.class, id);
}
}
Надеюсь, что это работает для вас.