Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

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 lanza un UnsupportedFeatureException.

También puede encontrar las funcionalidades que actualmente están planificadas para lanzamientos futuros en esta página. Priorizaremos estas futuras funcionalidades en función de la demanda de los usuarios, y puedes solicitar soporte para una funcionalidad mediante la creación de una idea en AHA.

La extensión de MongoDB para Hibernate ORM está actualmente en Vista Previa Pública. No se recomienda la Vista Previa Pública para implementaciones en producción, ya que se pueden introducir cambios disruptivos.

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

Para ver una lista de todos los tipos BSON admitidos en la extensión Hibernate ORM, consulta 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 método createNativeQuery() admite consultas de búsqueda vectorial. Incluya la etapa del $vectorSearch pipeline en su instrucción de MongoDB languaje del query. Para obtener más información sobre las consultas nativas, revisa la guía Realizar consultas nativas en la base de datos.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Consulta nativa con MQL

Soporte parcial. No se admite la vinculación de parámetros.

Proyecciones

Soporte parcial. Lasexpresiones de agregación dentro de las proyecciones de consulta no son compatibles, y debe incluir todos los campos de la entidad en su proyección.

Soporte parcial. Se aplican las mismas limitaciones en cuanto a expresiones de agregación y campos de entidad.

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 Queryable Encryption (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, puedes utilizar el MongoDB Java Driver para definir una instancia de MongoClient. Luego, cree una nueva colección con timeSeriesOptions() especificado para crear una colección de series de tiempo.

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. Utiliza el comportamiento por defecto de MongoDB para los campos de arreglo.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Índices parciales

No compatible. Sin embargo, puedes utilizar el MongoDB Java Driver para definir una instancia de MongoClient. Luego, llama 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 de modelos incrustados 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 de Hibernate ORM admite diversas funcionalidades de Hibernate ORM.

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

Tipos de colecciones (listas, conjuntos, mapas, arreglos)

✓. @ElementCollection y CollectionTable no son compatibles. Sin embargo, las colecciones de estructuras incrustadas son compatibles mediante clases incrustables anotadas con @Embeddable y @Struct.

✓. Se aplican las mismas limitaciones @ElementCollection y CollectionTable.

Entidades integrables, Tipos escalares

Soporte parcial. El java.time.Instant tipo es compatible con entidades de nivel superior y anidadas.

Soporte parcial. El java.time.Instant tipo es compatible con entidades de nivel superior y anidadas.

Entidades integradas, binario

Entidades integradas, tipos de identificadores

Soporte parcial. Establezca manualmente el ID de una entidad antes de guardarla.

Estamos considerando esta funcionalidad para el lanzamiento GA.

Entidades embebidas, JSON

Entidades embebidas, semántica nula

Entidades de nivel superior, Binario

Entidades de nivel superior, Tipos de identificadores


Asigne manualmente los UUID antes de guardar una entidad.


Asigne manualmente los UUID antes de guardar una entidad.

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

Soporte parcial. El java.time.Instant tipo es compatible con entidades de nivel superior y anidadas.

Soporte parcial. El java.time.Instant tipo es compatible con entidades de nivel superior y anidadas.

Lógica ternaria (Verdadero, Falso o DESCONOCIDO)

No compatible.

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 método createNativeQuery() admite operadores aritméticos. Para ver un ejemplo, consulte la sección Usar operadores aritméticos en la guía Realizar consultas nativas en bases de datos.

Estamos considerando esta funcionalidad para el lanzamiento GA.

HQL y JPQL queries, operadores de arreglos

Consultas HQL y JPQL, Operadores de comparación

Soporte parcial. Los LIKE operadores,,,,, BETWEEN INEXISTSANYALLy IS NULL no son compatibles actualmente. Sin embargo, puede usar el createNativeQuery() método y ​​pasar operadores de comparación en su instrucción de lenguaje de consulta de MongoDB. Para obtener más información sobre las consultas nativas, consulte la guía «Realizar consultas nativas de base de datos».

Planificado.

Queries HQL y JPQL, operadores de elementos

Consultas HQL y JPQL, Operadores de evaluación

No compatible. Sin embargo, el método createNativeQuery() admite operadores de evaluación. Incluya el operador en su instrucción de MongoDB languaje del query. Para obtener más información sobre las consultas nativas, consulta la guía Realizar consultas nativas a 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 de Hibernate ORM admite diversos frameworks o librerías externas.

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

Spring Boot y Spring Data

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

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