query example data conectar con and spring hibernate mongodb hibernate-ogm

spring - example - Hibernate con MongoDB



spring data mongodb query (10)

¿Qué hay de Hibernate OGM ? Proporciona JPA para bases de datos sin SQL .

Estoy buscando recursos que muestren cómo integrar MongoDB con Hibernate (preferiblemente desde la primavera) para poder cambiar entre un RDBMS y una alternativa NoSql: ¿Alguien tiene experiencia haciendo esto?


Bueno, solo para darte un ejemplo, estoy haciendo algo similar. En ColdFusion, Hibernate está integrado y para guardar su Objeto Hibernate, debe hacer EntitySave (Obj). Sin embargo, lo que hemos hecho es construir el objeto Orm, y luego usar un componente mongoDB Coldfusion y simplemente guardar el objeto yendo mongo.Save (obj, collectionName).


En aras de la integridad, PlayORM también es compatible con MongoDB ahora. PlayORM es una solución de mapeo NoSQL objeto para que pueda escribir POJO y dejar que se ocupe de todos los detalles de la clasificación / desemparejamiento a MongoDB. Visita su documentation aquí



La migración sería más fácil si usa Spring MongoTemplate (similar a HibernateTemplate).
Entre sus características está el soporte para las anotaciones JPA (aunque no estoy seguro en qué medida).
Ver más: http://www.springsource.org/spring-data/mongodb

Necesitarás lo siguiente:

  1. Agregue spring-data-mongodb JAR a su proyecto (disponible en maven central).
  2. Agregue JAR mongo-java-driver a su proyecto (disponible en maven central).
  3. Utilice la clase MongoTemplate proporcionada de manera similar a HibernateTemplate. Por ejemplo: mongoTemplate.findById(id, MyClass.class);
    mongoTemplate.insert(myObject);

Aquí hay un ejemplo concreto con código: use-spring-and-hibernate-with-mongodb


No puedes hacer esto fácilmente. El objetivo de Hibernate es asignar objetos de Java a una base de datos relacional. Aunque Hibernate abstrae una gran cantidad de detalles, aún necesita comprender cómo funcionan las bases de datos relacionales con elementos como claves externas y principales, y las implicaciones de rendimiento de las consultas que ejecuta. MongoDB requiere una manera completamente diferente de diseñar su base de datos centrándose en objetos en lugar de columnas y tablas. mientras que usted puede crear un dialecto de Hibernate para MongoDB, crear un diseño que funcione tanto en una base de datos relacional como en una base de datos NoSql le dará un diseño que funciona mal en ambos.




Si está utilizando Java, puede utilizar Hibernate OGM, que proporciona compatibilidad con Java Persistence para bases de datos NoSQL .

Para más detalles, visite http://hibernate.org/ogm/


También hay kundera , que utiliza anotaciones JPA para leer / escribir su objeto desde / hacia un mongodb. Si estás familiarizado con hibernate, debería ser bastante sencillo de usar.

Recientemente probé Morphia , que tiene el mismo enfoque, pero con sus propias anotaciones. Funciona bien