Docs Menu
Docs Home
/ /

Compatibilidad de características

En esta página, encontrará información sobre las funciones compatibles y no compatibles con la extensión ORM de Hibernate. Esta extensión solo admite conjuntos de réplicas de MongoDB. Al usar una función no compatible, la extensión ORM de Hibernate genera un error. UnsupportedFeatureException.

También puede encontrar funciones planificadas para futuras versiones en esta página. Priorizaremos estas próximas funciones según la demanda de los usuarios, y puede solicitar asistencia para una función por creando una idea 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 admite varias funciones de MongoDB.

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

Característica de MongoDB
Soporte de vista previa pública
Soporte de disponibilidad general (GA)

Escrituras masivas

Operaciones de eliminación

Query geoespacial

No compatible. Sin embargo, el createNativeQuery() método admite consultas geoespaciales. Incluya la $geoWithin $near etapa de canalización o 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 característica para el lanzamiento de GA.

Operaciones de inserción

Consultas de búsqueda de MongoDB

No compatible. Sin embargo, el createNativeQuery() método admite consultas de búsqueda. Incluya la $search etapa de canalización en su declaración del lenguaje de consulta de MongoDB. Para ver un ejemplo, consulte la sección "Ejecutar una consulta de búsqueda de MongoDB" en la guía "Realizar consultas de bases de datos nativas".

Estamos considerando esta característica para el lanzamiento de GA.

Consultas de búsqueda vectorial de MongoDB

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 característica para el lanzamiento de GA.

Consultas nativas 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 actualización

Operaciones de inserción y actualización

No compatible. Sin embargo, primero puede consultar la colección para comprobar si el valor especificado existe y, a continuación, insertarlo o actualizarlo si existe.

Estamos considerando esta característica para el lanzamiento de GA.

Característica de MongoDB
Soporte de vista previa pública
Soporte de disponibilidad general (GA)

Flujos de cambio

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

Estamos considerando esta característica para el lanzamiento de GA.

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

No compatible. Sin embargo, puede configurar CSFLE/QE al configurar el controlador Java de MongoDB.

Estamos considerando esta característica para el lanzamiento de GA.

GridFS

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

Estamos considerando esta característica para el lanzamiento de GA.

Datos de series temporales

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 característica para el lanzamiento de GA.

Instancias independientes mongod

No compatible. Recomendamos convertir las instancias independientes en un conjunto de réplicas. Para obtener más información,consulte "Convertir una instancia independiente de Mongod autogestionada en un conjunto de réplicas" en el manual de MongoDB Server.

Estamos considerando esta característica para el lanzamiento de GA.

Vistas

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

Estamos considerando esta característica para el lanzamiento de GA.

Característica de MongoDB
Soporte de vista previa pública
Soporte de disponibilidad general (GA)

Bloqueo

Parcialmente compatible. Se admite el bloqueo optimista.

Estamos considerando esta característica para el lanzamiento de GA.

Transacciones

Característica de MongoDB
Soporte de vista previa pública
Soporte de disponibilidad general (GA)

Asociaciones

Sin soporte.

Identificaciones generadas automáticamente

Parcialmente compatible. Se admite la generación automática de ObjectIDs. Sin embargo, se puede configurar un UUID manualmente.

Estamos considerando esta característica para el lanzamiento de GA.

Estrategia de herencia

Sin soporte.

Búsqueda perezosa/ansiosa

Sin soporte.

Sin soporte.

Ordenando

Validación

Característica de MongoDB
Soporte de vista previa pública
Soporte de disponibilidad general (GA)

Colecciones con tamaño fijo

No compatible. Sin embargo, puede usar el controlador Java de MongoDB para definir una MongoClient instancia. Luego, cree una colección limitada especificando CreateCollectionOptions.capped(true) como parámetro en su createCollection() llamada.

Estamos considerando esta característica para el lanzamiento de GA.

Colecciones con índice clusterizado

No compatible. Sin embargo, puede usar el controlador Java de MongoDB para definir una MongoClient instancia. A continuación, cree un documento llamado clusteredIndex y defina su índice agrupado. Use este índice agrupado como parte del documento que pasa al MongoDatabase.runCommand() método, que define la colección agrupada.

Estamos considerando esta característica para el lanzamiento de GA.

Índices compuestos

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.compoundIndex()) para crear un índice compuesto.

Estamos considerando esta característica para el lanzamiento de GA.

Índices de documentos incrustados

No compatible. Sin embargo, puede usar el controlador Java de MongoDB para definir una MongoClient instancia. A continuación, llame al método MongoCollection.createIndex(Indexes.ascending("field.subfield")) anidado. Este método utiliza las rutas de clave anidadas "field.subfield" para crear un índice de documento incrustado.

Estamos considerando esta característica para el lanzamiento de GA.

Índices geoespaciales

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

Estamos considerando esta característica para el lanzamiento de GA.

Índices de búsqueda de MongoDB

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

Estamos considerando esta característica para el lanzamiento de GA.

Índices de búsqueda vectorial de MongoDB

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

Estamos considerando esta característica para el lanzamiento de GA.

Multikey indexes

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

Estamos considerando esta característica para el lanzamiento de 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 característica para el lanzamiento de GA.

Validación de esquema

No compatible. Sin embargo, puede usar el controlador Java de MongoDB para definir una MongoClient instancia. Luego, cree un validador ejecutando el collMod comando mediante el MongoDatabase.runCommand() método.

Estamos considerando esta característica para el lanzamiento de GA.

Índices de campo único

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 característica para el lanzamiento de GA.

Sparse indexes

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

Estamos considerando esta característica para el lanzamiento de GA.

Unique indexes

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

Estamos considerando esta característica para el lanzamiento de GA.

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

No compatible. Sin embargo, puede eliminar y recrear manualmente el índice del modelo incrustado.

Estamos considerando esta característica para el lanzamiento de GA.

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

Tipo de dato
Soporte de vista previa pública
Soporte de disponibilidad general (GA)

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 incrustadas, binarias

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 integradas, JSON

Entidades incrustadas, semántica nula

Entidades de nivel superior, binarias

Entidades de nivel superior, tipos de identificadores

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

Entidades de nivel superior, JSON

Entidades de nivel superior, Semántica Nula

Entidades de nivel superior, tipos escalares

Entidades de nivel superior, tipos 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.

Función ORM de Hibernate
Soporte de vista previa pública
Soporte de disponibilidad general (GA)

Consultas HQL y JPQL, operadores de agregación

No compatible. Sin embargo, el createNativeQuery() método admite operadores de agregació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, 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 característica para el lanzamiento de 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, UNIONES

No compatible. Sin embargo, puede usar el createNativeQuery() método para ejecutar una operación de agregación que consulte varias colecciones. Para obtener más información sobre las consultas nativas, consulte la guía "Realizar consultas nativas a bases de datos".

Planificado.

Consultas HQL y JPQL, operadores lógicos

Función ORM de Hibernate
Soporte de vista previa pública
Soporte de disponibilidad general (GA)

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 biblioteca
Soporte de vista previa pública
Soporte de disponibilidad general (GA)

Spring Boot 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 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