Domanda

Sono alla ricerca di risorse che mostrano come integrare MongoDB con Hibernate (preferibilmente da dentro primavera) in modo che possa passare da un RDBMS e un'alternativa NoSQL:? Qualcuno ha esperienza facendo questo

È stato utile?

Soluzione

Non si può facilmente farlo. Il punto di Hibernate è quello di mappare oggetti Java a un database relazionale. Anche se Hibernate astrae un sacco di dettagli via è ancora necessario capire come i database relazionali lavorare con cose come chiavi esterne e primarie, e le implicazioni sulle prestazioni di query si esegue. MongoDB richiede un intero modo diverso di progettare il vostro database di concentrarsi su oggetti invece di colonne e tabelle. mentre si può essere in grado di creare un dialetto Hibernate per MongoDB la creazione di un progetto che avrebbe funzionato sia su un database relazionale e un database NoSQL vi darà un disegno che funziona male su entrambi.

Altri suggerimenti

Hibernate OGM ? Esso fornisce JPA per No-SQL database.

La migrazione sarebbe più facile se si utilizza Primavera MongoTemplate (simile a HibernateTemplate).
Tra le sue caratteristiche è il supporto per le annotazioni JPA (anche se, non sono sicuro fino a che punto).
Vedi di più: http://www.springsource.org/spring-data/mongodb

È necessario il seguente:

  1. Aggiungi primavera-dati-MongoDB JAR al progetto (disponibile in Maven centrale).
  2. Aggiungi mongo-java-pilota JAR al progetto (disponibile in Maven centrale).
  3. Utilizzare la classe MongoTemplate fornito in un simile modo da HibernateTemplate. Per esempio.: mongoTemplate.findById(id, MyClass.class);
    mongoTemplate.insert(myObject);

Ecco un esempio concreto con il codice: uso-spring-e -hibernate-con-MongoDB

Kundera , che utilizza JPA-annotazioni di leggere / scrivere il vostro oggetto dalla / a MongoDB. Se Ara familiarità con Hibernate, dovrebbe essere abbastanza straightformard da usare.

Recentemente ho provato Morphia , che prende lo stesso approccio, ma con le proprie annotazioni. Funziona bene

Se si sta utilizzando Java quindi è possibile utilizzare Sospensione OGM che fornisce il supporto Java Persistence per NoSQL i database.

Per maggiori informazioni visita http://hibernate.org/ogm/

Che questo blog aiuta: http://drorbr.blogspot.com /2010/02/migrating-springhibernate-application.html Qui Dror Bereznitsky descrive bene come integrare uno sping / ibernazione soluzione basata con MongoDB.

Per ragioni di completezza, PlayORM supporta anche MongoDB ora. PlayORM è una soluzione di mapping NoSQL oggetto in modo da poter scrivere POJO e di lasciare che si occupano di tutti i dettagli di smistamento / unmarshalling a MongoDB. Visita la sua documentazione qui

Bene solo per fare un esempio, sto facendo somehting simmilar. In ColdFusion, Hibernate è integrata e al fine di salvare il vostro oggetto Hibernate, si hvae fare EntitySave (Obj). Tuttavia ciò che abbiamo fatto è costruire l'oggetto Orm, e quindi utilizzare un componente MongoDB Coldfusion e solo salvare l'oggetto andando mongo.Save (obj, collectionName).

Credo che Hibernate fornisce funzionalità desiderata. Date un'occhiata a questo, che si trova sul loro sito ufficiale: Miscelazione diversi archivi dati NoSQL in un'applicazione, ad esempio utilizzare Neo4j per il grafico amicizia e MongoDB per il tuo post del blog. O mescolare NoSQL e database relazionali.

riferimento

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top