Overview
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.
Puedes solicitar soporte para una función creando una idea en AHA. Priorizamos las próximas funciones según la demanda de los usuarios.
Funcionalidades de MongoDB
Esta sección indica si la extensión Hibernate ORM es compatible con diversas funcionalidades de MongoDB.
Soporte de tipo de datos
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.
Soporte de query
Funcionalidad de MongoDB | Soporte para GA (Disponibilidad General) |
|---|---|
Guardados masivos | ✓ |
Operaciones de borrar | ✓ |
Query geoespacial | No compatible. Sin embargo, el método |
Operaciones de inserción | ✓ |
Consultas de búsqueda de MongoDB | No compatible. Sin embargo, el método |
Los query de MongoDB Vector Search | No compatible. Sin embargo, el método |
Consultas nativas con MQL | ✓ |
Proyecciones | Soporte parcial. Lasexpresiones de agregación dentro de las proyecciones de consulta no son compatibles, y debe incluir todos los campos de entidad en su proyección. |
Operaciones de lectura | ✓ |
Operaciones de actualizar | ✓ |
Operaciones de actualización e inserción | Soporte parcial. Las operaciones de inserción/actualización son compatibles con entidades sin versión a través de la API |
Soporte de bases de datos y colecciones
Funcionalidad de MongoDB | Soporte para GA (Disponibilidad General) |
|---|---|
Flujos de cambio | No compatible. Sin embargo, puede usar un flujo de cambios a través del controlador Java de MongoDB. Para obtener más información, consulte la sección "Abrir flujos de cambios" en la documentación del controlador Java. |
Cifrado a nivel de campo del lado del cliente (CSFLE) y Queryable Encryption (QE) | No compatible. Estamos considerando incluir esta función en una futura versión. Sin embargo, puede configurar CSFLE/QE al configurar el controlador Java de MongoDB. Para obtener más información, consulte la documentación de CSFLE en el manual del servidor de MongoDB. |
GridFS | No es compatible. Sin embargo, puede usar GridFS a través del controlador Java de MongoDB. Para obtener más información, consulte la guía «Almacenamiento de archivos grandes con GridFS» en la documentación del controlador Java. |
Datos de Time Series | No es compatible. Sin embargo, puede crear una colección de series temporales mediante el controlador Java de MongoDB. Para obtener más información, consulte la guía de colecciones de series temporales en la documentación del controlador Java. |
Instancias independientes | 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. |
Vistas | No compatible. Sin embargo, se puede utilizar el controlador Java de MongoDB para definir una instancia |
Transacciones y concurrencia
Funcionalidad de MongoDB | Soporte para GA (Disponibilidad General) |
|---|---|
Bloqueo | Soporte parcial. El bloqueo optimista es compatible con entidades que tienen un campo anotado con |
Transacciones | ✓ |
Soporte de mapeo y modelos
Funcionalidad de MongoDB | Soporte para GA (Disponibilidad General) |
|---|---|
Asociaciones | Soporte parcial. Se admiten las anotaciones |
Autogeneración de IDs | Soporte parcial. Se admite la generación automática de ObjectIds. Sin embargo, puede establecer manualmente los identificadores |
Claves primarias compuestas | Soporte parcial. Declare una clave compuesta con |
Estrategia de herencia | Soporte parcial. Se admite la herencia de tabla única y las superclases mapeadas. No admite las estrategias |
| No admitido. |
Recuperación perezosa/anticipada | No admitido. |
Ordenando | ✓ |
| No compatible. La extensión Hibernate ORM rechaza el elemento |
| ✓ |
Validación | ✓ |
Soporte de índice
Funcionalidad de MongoDB | Soporte para GA (Disponibilidad General) |
|---|---|
Colecciones con tamaño fijo | No compatible. Sin embargo, puede usar el controlador Java de MongoDB para definir una instancia |
Colecciones con índice clusterizado | No compatible. Sin embargo, puede usar el controlador Java de MongoDB para definir una instancia |
Índices compuestos | ✓ |
Índices de documentos incrustados | No compatible. Sin embargo, puede usar el controlador Java de MongoDB para definir una instancia |
Índices geoespaciales | No es compatible. Sin embargo, puede usar índices geoespaciales a través del controlador Java de MongoDB. Para obtener más información, consulte la sección «Índices geoespaciales» de la guía de índices en la documentación del controlador Java. |
Índices de búsqueda de MongoDB | No es compatible. Sin embargo, puede usar los índices de búsqueda de MongoDB a través del controlador Java de MongoDB. Para obtener más información, consulte la sección «Índices de búsqueda de MongoDB y de búsqueda vectorial» de la guía de índices en la documentación del controlador Java. |
Índices de MongoDB Vector Search | No es compatible. Sin embargo, puede usar los índices de MongoDB Vector Search a través del controlador Java de MongoDB. Para obtener más información, consulte la sección «Índices de MongoDB Search y Vector Search» de la guía de índices en la documentación del controlador Java. |
Multikey Indexes | No es compatible. Sin embargo, puede usar índices de clave múltiple a través del controlador Java de MongoDB. Para obtener más información, consulte la sección «Índices de clave múltiple (Índices en campos de matriz)» de la guía de índices en la documentación del controlador Java. |
Índices parciales | No compatible. Sin embargo, puede usar el controlador Java de MongoDB para definir una instancia |
Validación de esquema | No compatible. Sin embargo, puede usar el controlador Java de MongoDB para definir una instancia |
Índices de un solo campo | ✓ |
Sparse Indexes | No compatible. Sin embargo, puede usar el controlador Java de MongoDB para definir una instancia |
Unique Indexes | ✓ |
Actualización de los índices de modelos integrados después de la creación del modelo. | No compatible. Sin embargo, puede eliminar y volver a crear el índice del modelo incrustado manualmente. |
Para obtener más información sobre los índices, consulte la guía Índices para la optimización de consultas.
Funcionalidades de Hibernate ORM
Esta sección indica si la extensión de Hibernate ORM admite diversas funcionalidades de Hibernate ORM.
Soporte de tipo de datos
Tipo de dato | Soporte para GA (Disponibilidad General) |
|---|---|
Tipos de colecciones (listas, conjuntos, mapas, arreglos) | ✓ |
Entidades integrables, Tipos escalares | Soporte parcial. Los tipos |
Entidades integradas, binario | ✓ |
Entidades integradas, tipos de identificadores | Soporte parcial. Establezca manualmente el ID de una entidad antes de guardarla. |
Entidades embebidas, JSON | ✓ |
Entidades embebidas, semántica nula | ✓ |
Entidades de nivel superior, Binario | ✓ |
Entidades de nivel superior, Tipos de identificadores | ✓ |
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. Los tipos |
Lógica ternaria (Verdadero, Falso o DESCONOCIDO) | No compatible. |
Soporte de query
Funcionalidad de Hibernate ORM | Soporte para GA (Disponibilidad General) |
|---|---|
HQL y JPQL Queries, Operadores agregados | ✓ |
Consultas HQL y JPQL, operadores aritméticos | Soporte parcial. Admite los operadores Para obtener más información, consulte la sección "Usar expresiones calculadas" en la guía "Especificar una consulta". |
HQL y JPQL queries, operadores de arreglos | ✓ |
Consultas HQL y JPQL, funciones de fecha y hora | Soporte parcial. Admite las funciones |
Consultas HQL y JPQL, funciones de cadena | Soporte parcial. Admite las funciones |
Consultas HQL y JPQL, expresiones CASE | Parcialmente financiado.
Para obtener más información y ver un ejemplo, consulte la sección Expresiones de casos de uso para lógica condicional en la guía Especificar una consulta. |
Consultas HQL y JPQL, Operadores de comparación |
|
Queries HQL y JPQL, operadores de elementos | ✓ |
Consultas HQL y JPQL, Operadores de evaluación | Soporte parcial. Admite el operador de evaluación |
Consultas HQL y JPQL, Agrupación | Soporte parcial. Admite las cláusulas
|
Consultas y uniones HQL y JPQL | Soporte parcial. Puede unir entidades navegando por una asociación mapeada, como en
|
Consultas HQL y JPQL, Operadores lógicos | ✓ |
Consultas HQL y JPQL, funciones de cadena | Soporte parcial. Admite las funciones |
Soporte de bases de datos y colecciones
Funcionalidad de Hibernate ORM | Soporte para GA (Disponibilidad General) |
|---|---|
Caché de primer nivel | ✓ |
Caché de Segundo Nivel | ✓ |
Soporte para frameworks y librerías
Esta sección indica si la extensión de Hibernate ORM admite diversos frameworks o librerías externas.
Marco o librería | Soporte para GA (Disponibilidad General) |
|---|---|
Spring Boot y Spring Data JPA | Soporte parcial. La extensión Hibernate ORM proporciona un iniciador de Spring Boot que configura repositorios JPA basados en MongoDB y Spring Data JPA. No garantizamos la compatibilidad con todas las funciones de Spring Boot o Spring Data. Para obtener más información, consulte la sección Integración de Spring Boot y Spring Data JPA. |