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.
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.
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 | 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 | Estamos considerando esta funcionalidad para el lanzamiento GA. |
Operaciones de inserción | ✓ | ✓ |
queries de MongoDB Search | No compatible. Sin embargo, el método | Estamos considerando esta funcionalidad para el lanzamiento GA. |
Los query de MongoDB Vector Search | No compatible. Sin embargo, el método | 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. |
Soporte de bases de datos y colecciones
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 | 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 | 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 | Estamos considerando esta funcionalidad para el lanzamiento GA. |
Instancias autónomas de | 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 | Estamos considerando esta funcionalidad para el lanzamiento GA. |
Transacciones y concurrencia
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 | ✓ | ✓ |
Soporte de mapeo y modelos
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 | ✓ | ✓ |
Soporte de índice
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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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. |
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 | Compatibilidad con la vista previa pública | Soporte para GA (Disponibilidad General) |
|---|---|---|
Tipos de colecciones (listas, conjuntos, mapas, arreglos) | ✓. | ✓. Se aplican las mismas limitaciones |
Entidades integrables, Tipos escalares | Soporte parcial. El | Soporte parcial. El |
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 | ✓ | ✓ |
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 | Soporte parcial. El |
Lógica ternaria (Verdadero, Falso o DESCONOCIDO) | No compatible. | Planificado. |
Soporte de query
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 | Planificado. |
Consultas HQL y JPQL, operadores aritméticos | No compatible. Sin embargo, el método | 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 | Planificado. |
Queries HQL y JPQL, operadores de elementos | ✓ | ✓ |
Consultas HQL y JPQL, Operadores de evaluación | No compatible. Sin embargo, el método | Planificado. |
Consultas HQL y JPQL, JOINS | No compatible. Sin embargo, puedes utilizar el método | Planificado. |
Consultas HQL y JPQL, Operadores lógicos | ✓ | ✓ |
Soporte de bases de datos y colecciones
Funcionalidad de Hibernate ORM | Compatibilidad con la vista previa pública | 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 | 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. |