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 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.
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 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 | 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 cifrado consultable (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, puede usar el controlador Java de MongoDB para definir una | 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. Utilice el comportamiento predeterminado de MongoDB para los campos de matriz. | Estamos considerando esta funcionalidad para el lanzamiento GA. |
Índices parciales | No compatible. Sin embargo, puede usar el controlador Java de MongoDB para definir una | 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 del modelo integrado 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 Hibernate ORM admite varias características 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 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 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) | Sin soporte. | 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 | Estamos considerando esta funcionalidad para el lanzamiento 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 | 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 de marco y biblioteca
Esta sección indica si la extensión ORM de Hibernate admite varios marcos o bibliotecas 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 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. |