Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Compatibilidad de características

En esta página, puede encontrar información sobre las funcionalidades compatibles y no compatibles en la extensión Hibernate ORM. La extensión Hibernate ORM sólo admite sets de réplicas de MongoDB. Cuando utilizas una funcionalidad no admitida, la extensión Hibernate ORM genera una UnsupportedFeatureException.

También puedes encontrar funcionalidades actualmente planificadas para futuras versiones en esta página. Priorizaremos estas próximas funcionalidades según la demanda de los usuarios, y puedes solicitar soporte para una funcionalidad mediante Crear una idea de AHA.

La extensión MongoDB para Hibernate ORM se encuentra actualmente en versión preliminar pública. No se recomienda su uso en implementaciones de producción, ya que podría introducir cambios importantes.

Esta sección indica si la extensión Hibernate ORM es compatible con diversas funcionalidades de MongoDB.

Para ver una lista de todos los BSON types admitidos en la extensión Hibernate ORM, consulte la Sección Campos BSON de MongoDB en la guía Crear entidades.

Funcionalidad de MongoDB
Compatibilidad con la vista previa pública
Soporte para GA (Disponibilidad General)

Guardados masivos

Operaciones de borrar

Query geoespacial

No soportado. Sin embargo, el método createNativeQuery() admite consultas geoespaciales. Incluya la etapa de pipeline $geoWithin o $near en su instrucción de MongoDB languaje del query. Para aprender más sobre las queries nativas, consulta la guía Realizar queries nativas en bases de datos.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Operaciones de inserción

queries de MongoDB Search

No compatible. Sin embargo, el método createNativeQuery() admite consultas de Búsqueda. Incluya la etapa de pipeline $search en su instrucción del Lenguaje de Consulta MongoDB. Para ver un ejemplo, consulta la sección Ejecutar una consulta MongoDB Search en la guía Realizar consultas nativas a bases de datos.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Los query de MongoDB Vector Search

No compatible. Sin embargo, el createNativeQuery() método admite consultas de búsqueda vectorial. Incluya la $vectorSearch etapa de canalización en su declaración del lenguaje de consulta de MongoDB. Para obtener más información sobre las consultas nativas, consulte la guía "Realizar consultas nativas de bases de datos".

Estamos considerando esta funcionalidad para el lanzamiento GA.

Consulta nativa con MQL

Partially Supported. Parameter binding is not supported.

Proyecciones

Partially Supported. Aggregation expressions within query projections are not supported, and you must include all entity fields in your projection.
Partially Supported. The same aggregation expression and entity field limitations apply.

Operaciones de lectura

Operaciones de actualizar

Operaciones de inserción

No compatible. Sin embargo, primero puedes query la colección para verificar si el valor especificado existe y, si es así, insertarlo o actualizarlo.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Funcionalidad de MongoDB
Compatibilidad con la vista previa pública
Soporte para GA (Disponibilidad General)

Flujos de cambio

No compatible. Sin embargo, se puede utilizar el controlador Java de MongoDB para definir una instancia MongoClient. Luego, utiliza el método MongoClient.watch() para abrir un flujo de cambios.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Cifrado a nivel de campo del lado del cliente (CSFLE) y cifrado consultable (QE)

No compatible. Sin embargo, puedes configurar CSFLE/QE cuando configures el MongoDB Java Driver.

Estamos considerando esta funcionalidad para el lanzamiento GA.

GridFS

No compatible. Sin embargo, puede utilizar el Controlador Java de MongoDB para definir una instancia de MongoClient. Luego, llama al método GridFSBuckets.create() con una instancia de MongoDatabase como parámetro para instanciar un GridFSBucket.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Datos de Time Series

No compatible. Sin embargo, puede usar el controlador Java de MongoDB para definir una MongoClient instancia. Luego, cree una nueva colección con timeSeriesOptions() especificado para crear una colección de series temporales.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Instancias autónomas de mongod

No compatible. Recomendamos que conviertas cualquier instancia autónoma en un set de réplicas. Para obtener más información, consulte Convertir un mongod autónomo autogestionado en un set de réplicas en el manual del servidor de MongoDB.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Vistas

No compatible. Sin embargo, se puede utilizar el controlador Java de MongoDB para definir una instancia MongoClient. Luego, llame al método createView() en su instancia MongoDatabase para crear una nueva vista.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Funcionalidad de MongoDB
Compatibilidad con la vista previa pública
Soporte para GA (Disponibilidad General)

Bloqueo

Parcialmente compatible. Se admite el bloqueo optimista.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Transacciones

Funcionalidad de MongoDB
Compatibilidad con la vista previa pública
Soporte para GA (Disponibilidad General)

Asociaciones

No admitido.

Autogeneración de IDs

Soportado parcialmente. Se admite la autogeneración de ObjectIds. Sin embargo, se puede establecer manualmente un UUID.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Estrategia de herencia

No admitido.

Recuperación perezosa/anticipada

No admitido.

No admitido.

Ordenando

Validación

Funcionalidad de MongoDB
Compatibilidad con la vista previa pública
Soporte para GA (Disponibilidad General)

Colecciones con tamaño fijo

No compatible. Sin embargo, se puede utilizar el controlador Java de MongoDB para definir una instancia MongoClient. Luego, crea una colección con tamaño fijo especificando CreateCollectionOptions.capped(true) como un parámetro en tu llamada a createCollection().

Estamos considerando esta funcionalidad para el lanzamiento GA.

Colecciones con índice clusterizado

No compatible. Sin embargo, se puede utilizar el controlador Java de MongoDB para definir una instancia MongoClient. Luego, crea un documento llamado clusteredIndex y define tu índice agrupado. Utiliza este índice agrupado como parte del documento que pases al método MongoDatabase.runCommand(), el cual define la colección con índice clusterizado.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Índices compuestos

No compatible. Sin embargo, se puede utilizar el controlador Java de MongoDB para definir una instancia MongoClient. Luego, llama al método anidado MongoCollection.createIndex(Indexes.compoundIndex()) para crear un índice compuesto.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Índices de documentos incrustados

No compatible. Sin embargo, se puede utilizar el controlador Java de MongoDB para definir una instancia MongoClient. Luego, llama al método anidado MongoCollection.createIndex(Indexes.ascending("field.subfield")). Este método usa rutas de clave anidadas "campo.subfield" para crear un índice de documentos incrustados.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Índices geoespaciales

No compatible. Sin embargo, se puede utilizar el controlador Java de MongoDB para definir una instancia MongoClient. Luego, llama al método anidado MongoCollection.createIndex(geo2dsphere("location")) para crear un índice geoespacial en el campo location.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Índices de búsqueda de MongoDB

No compatible. Sin embargo, se puede utilizar el controlador Java de MongoDB para definir una instancia MongoClient. Luego, llama al método MongoCollection.createSearchIndex() para crear un índice de búsqueda de MongoDB Search.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Índices de MongoDB Vector Search

No soportado. Sin embargo, puede utilizar el Controlador Java de MongoDB para definir una instancia de MongoClient. Luego, llama al método MongoCollection.createSearchIndexes() con un vector de tipo SearchIndexModel para crear un índice de búsqueda vectorial de MongoDB.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Multikey indexes

No compatible. Utilice el comportamiento predeterminado de MongoDB para los campos de matriz.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Índices parciales

No compatible. Sin embargo, puede usar el controlador Java de MongoDB para definir una MongoClient instancia. Luego, llame al método anidado MongoCollection.createIndex(Indexes.partialFilterExpression()) para crear un índice parcial.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Validación de esquema

No compatible. Sin embargo, se puede utilizar el controlador Java de MongoDB para definir una instancia MongoClient. A continuación, crea un validador ejecutando el comando collMod mediante el método MongoDatabase.runCommand().

Estamos considerando esta funcionalidad para el lanzamiento GA.

Índices de un solo campo

No soportado. Sin embargo, puedes usar el MongoDB Java Driver para definir una instancia de MongoClient. Luego, llama al método anidado MongoCollection.createIndex(Indexes.ascending("field")) para crear un índice de campo único en orden ascendente sobre el campo field.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Sparse indexes

No compatible. Sin embargo, se puede utilizar el controlador Java de MongoDB para definir una instancia MongoClient. Luego, especifica IndexOptions().sparse(true) como un parámetro en tu llamada al método MongoCollection.createIndex() para crear un índice disperso.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Unique indexes

No compatible. Sin embargo, se puede utilizar el controlador Java de MongoDB para definir una instancia MongoClient. Luego, especifica IndexOptions().unique(true) como un parámetro en tu llamada al método MongoCollection.createIndex() para crear un índice disperso.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Actualización de los índices del modelo integrado después de la creación del modelo

No compatible. Sin embargo, puedes descartar y recrear manualmente el índice del modelo incrustado.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Esta sección indica si la extensión Hibernate ORM admite varias características de Hibernate ORM.

Tipo de dato
Compatibilidad con la vista previa pública
Soporte para GA (Disponibilidad General)

Tipos de colección (lista, conjunto, mapas, matrices)

✓. @ElementCollection and CollectionTable are not supported. However, collections of embedded structs are supported through embeddable classes annotated with @Embeddable and @Struct.
✓. The same @ElementCollection and CollectionTable limitations apply.

Entidades integrables, tipos escalares

Partially Supported. The java.time.Instant type is supported for top-level and nested entities.
Partially Supported. The java.time.Instant type is supported for top-level and nested entities.

Entidades integradas, binario

Entidades integradas, tipos de identificadores

Partially Supported. Manually set the ID of an entity before persisting an entity.
We are considering this feature for GA release.

Entidades embebidas, JSON

Entidades embebidas, semántica nula

Entidades de nivel superior, Binario

Entidades de nivel superior, tipos de identificadores

Manually assign UUIDs before persisting an entity.
Manually assign UUIDs before persisting an entity.

Entidades de primer nivel, JSON

Entidades de nivel superior, Semántica Nula

Entidades de nivel superior, tipos escalares

Entidades de nivel superior, tipologías temporales

Partially Supported. The java.time.Instant type is supported for top-level and nested entities.
Partially Supported. The java.time.Instant type is supported for top-level and nested entities.

Lógica ternaria (Verdadero, Falso o DESCONOCIDO)

Sin soporte.

Planificado.

Funcionalidad de Hibernate ORM
Compatibilidad con la vista previa pública
Soporte para GA (Disponibilidad General)

HQL y JPQL Queries, Operadores agregados

No soportado. Sin embargo, el método createNativeQuery() admite operadores de agregación. Incluye el operador en tu instrucción del languaje del query de MongoDB. Para obtener más información sobre las queries nativas, consulta la guía Realizar queries nativas en bases de datos.

Planificado.

Consultas HQL y JPQL, operadores aritméticos

No compatible. Sin embargo, el createNativeQuery() método admite operadores aritméticos. Para ver un ejemplo, consulte la sección "Usar operadores aritméticos" en la guía "Realizar consultas nativas a bases de datos".

Estamos considerando esta funcionalidad para el lanzamiento GA.

Consultas HQL y JPQL, operadores de matriz

Consultas HQL y JPQL, operadores de comparación

Partially Supported. The operators LIKE, BETWEEN, IN, EXISTS, ANY, ALL, and IS NULL are not currently supported. However, you can use the createNativeQuery() method and pass comparison operators in your MongoDB Query Language statement. To learn more about native queries, see the Perform Native Database Queries guide.
Planned.

Queries HQL y JPQL, operadores de elementos

Consultas HQL y JPQL, operadores de evaluación

No compatible. Sin embargo, el createNativeQuery() método admite operadores de evaluación. Incluya el operador en su sentencia del lenguaje de consulta de MongoDB. Para obtener más información sobre las consultas nativas, consulte la guía "Realizar consultas nativas de bases de datos".

Planificado.

Consultas HQL y JPQL, JOINS

No compatible. Sin embargo, puedes utilizar el método createNativeQuery() para ejecutar una operación de agregación que hace query a varias colecciones. Para aprender más sobre native queries, consulta la guía Realizar native queries en la base de datos.

Planificado.

Consultas HQL y JPQL, operadores lógicos

Funcionalidad de Hibernate ORM
Compatibilidad con la vista previa pública
Soporte para GA (Disponibilidad General)

Caché de primer nivel

Caché de segundo nivel

Esta sección indica si la extensión ORM de Hibernate admite varios marcos o bibliotecas externas.

Marco o librería
Compatibilidad con la vista previa pública
Soporte para GA (Disponibilidad General)

Spring Boot y Spring Data

Soportado parcialmente. No garantizamos el soporte para todas las funcionalidades de Spring Boot o Spring Data. Ver la aplicación de Spring Data con MongoDB Hibernate para un ejemplo de una aplicación creada con la extensión ORM de Hibernate y Spring Data.

Parcialmente compatible. No garantizamos la compatibilidad con todas las funciones de Spring Boot o Spring Data. Consulte la aplicación Spring Data con MongoDB Hibernate para ver un ejemplo de una aplicación creada con la extensión ORM de Hibernate y Spring Data.

Volver

Transacciones y sesiones

En esta página