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 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 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 BSON types admitidos en la extensión Hibernate ORM, consulte la MongoDB BSON Fields sección en la guía de creación de 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 | 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. |
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) | ✓. @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) | 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 | 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 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 | 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 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. |