2015-10-01 2 views
0

J'aime vraiment la simplicité du référentiel de données de printemps, cependant besoin d'utiliser Hibernate comme fournisseur de persistance pour la cohérence et quelques autres facteurs. (J'utilise mongodb mais n'utilise pas le template mongo). Peu de choses, j'ai remarqué -Est-il possible d'utiliser Hibernate OGM Persistence Provider avec Spring-data-jpa?

  1. Le HibernateJpaVendorAdapter utilise "org.springframework.orm.jpa.vendor.SpringHibernateEjbPersistenceProvider"

  2. Le fournisseur configuré avec l'unité de persistance ("" org.hibernate.ogm. jpa.HibernateOgmPersistence ») ne sont pas pris en considération, lors de la construction du EntityManagerFactory à travers un «

  3. haricot org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean ». S'il y a des unités de persistance multiples configurés pour le projet, il n'y a aucun moyen évident d'associer une persistance u nit pour un référentiel.

Questions:

  1. Est-il possible d'utiliser le fournisseur de persistance configuré, au lieu de celui par défaut? Le fournisseur par défaut ne fonctionne pas avec mongodb.

  2. Existe-t-il un moyen d'associer un référentiel à une unité de persistance spécifique?

Répondre

0

Une solution partielle a été de

  1. outil org.springframework.orm.jpa.vendor.AbstractJpaVendorAdapter et retourner une instance de org.hibernate.ogm.jpa.HibernateOgmPersistence dans getPersistenceProvider() procédé

  2. Source la propriété jpaVendorAdapter pour entityManagerFactory haricot dans la configuration de ressort

Cependant, cela ne fonctionne toujours pas bien partout où il est fait référence à Pageable. Certains changements de conception peuvent contourner le problème.