Overview
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.
Características de MongoDB
Esta sección indica si la extensión Hibernate ORM admite varias funciones de MongoDB.
Compatibilidad con tipos de datos
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.
Soporte de query
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 | 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 | Estamos considerando esta característica para el lanzamiento de GA. |
Consultas de búsqueda vectorial de MongoDB | No compatible. Sin embargo, el | 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. |
Soporte de bases de datos y colecciones
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 | 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 | 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 | Estamos considerando esta característica para el lanzamiento de GA. |
Instancias independientes | 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 | Estamos considerando esta característica para el lanzamiento de GA. |
Transacciones y concurrencia
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 | ✓ | ✓ |
Mapeo y soporte de modelos
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 | ✓ | ✓ |
Soporte de índice
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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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. |
Características de Hibernate ORM
Esta sección indica si la extensión Hibernate ORM admite varias características de Hibernate ORM.
Compatibilidad con tipos de datos
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. |
Soporte de query
Función ORM de Hibernate | Soporte de vista previa pública | Soporte de disponibilidad general (GA) |
|---|---|---|
Consultas HQL y JPQL, operadores de agregación | Planificado. | |
Consultas HQL y JPQL, operadores aritméticos | No compatible. Sin embargo, el | 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 | Planificado. | |
Consultas HQL y JPQL, UNIONES | No compatible. Sin embargo, puede usar el | Planificado. |
Consultas HQL y JPQL, operadores lógicos | ✓ | ✓ |
Soporte de bases de datos y colecciones
Función ORM de Hibernate | Soporte de vista previa pública | Soporte de disponibilidad general (GA) |
|---|---|---|
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 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. |