Visão geral
Nesta página, você pode encontrar informações sobre os recursos compatíveis e não suportados na extensão Hibername ORM. A extensão Hibernate ORM oferece suporte apenas a conjuntos de réplicas MongoDB. Quando você utiliza um recurso não suportado, a extensão ORM Hibernado lança um UnsupportedFeatureException.
Você também pode encontrar os recursos atualmente planejados para futuras versões nesta página. Priorizaremos esses recursos futuros com base na demanda do usuário, e você pode fazer uma solicitação de suporte para um recurso criando uma ideia AHA.
A extensão do MongoDB para hibernação ORM está atualmente em visualização pública. A visualização pública não é recomendada para implantações de produção, pois alterações interruptivas podem ser introduzidas.
Funcionalidades do MongoDB
Esta seção indica se a extensão Hibernar ORM é compatível com várias funcionalidades do MongoDB .
Suporte ao tipo de dados
Para ver uma lista de todos os BSON types suportados na extensão Hibernate ORM, consulte a seção Campos BSON do MongoDB no guia Criar Entidades.
Suporte a consultas
Funcionalidade do MongoDB | Suporte à visualização pública | Suporte de disponibilidade geral (GA) |
|---|---|---|
Gravações em massa | ✓ | ✓ |
Excluir operações | ✓ | ✓ |
Consultas geoespaciais | Não compatível. No entanto, o método | Estamos considerando esse recurso para a versão GA. |
Inserir operações | ✓ | ✓ |
Queries de pesquisa MongoDB | Não compatível. No entanto, o método | Estamos considerando esse recurso para a versão GA. |
Queries do MongoDB Vector Search | Não compatível. No entanto, o método | Estamos considerando esse recurso para a versão GA. |
Query nativa com MQL | Partially Supported. Parameter binding is not supported. | ✓ |
Projeções | 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. |
Ler operações | ✓ | ✓ |
Atualizar operações | ✓ | ✓ |
Operações upsert | Não compatível. No entanto, você pode primeiro fazer query da coleção para verificar se o valor especificado existe e, em seguida, inserir ou atualizar se o valor existe. | Estamos considerando esse recurso para a versão GA. |
Suporte a banco de dados e collection
Funcionalidade do MongoDB | Suporte à visualização pública | Suporte de disponibilidade geral (GA) |
|---|---|---|
Fluxos de alterações | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância | Estamos considerando esse recurso para a versão GA. |
Criptografia no nível do campo do lado do cliente (CSFLE) e Queryable Encryption (QE) | Não compatível. No entanto, você pode configurar o CSFLE/QE ao configurar o driver Java do MongoDB . | Estamos considerando esse recurso para a versão GA. |
GridFS | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância | Estamos considerando esse recurso para a versão GA. |
Dados de Time Series | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância | Estamos considerando esse recurso para a versão GA. |
Instâncias standalone | Não compatível. Recomendamos que você converta quaisquer instâncias autônomo em um conjunto de réplicas. Para saber mais, consulte Converter um mongod autônomo autogerenciado em um conjunto de réplicas no manual do MongoDB Server. | Estamos considerando esse recurso para a versão GA. |
Visualizações | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância | Estamos considerando esse recurso para a versão GA. |
Transações e simultaneidade
Funcionalidade do MongoDB | Suporte à visualização pública | Suporte de disponibilidade geral (GA) |
|---|---|---|
Bloqueio | Parcialmente suportado. O bloqueio otimista é suportado. | Estamos considerando esse recurso para a versão GA. |
Transações | ✓ | ✓ |
Mapeamento e suporte a modelos
Funcionalidade do MongoDB | Suporte à visualização pública | Suporte de disponibilidade geral (GA) |
|---|---|---|
Associações | Não compatível. | ✓ |
IDs de geração automática | Parcialmente suportado. A geração automática de ObjectIds é compatível. No entanto, você pode definir manualmente um UUID. | Estamos considerando esse recurso para a versão GA. |
Estratégia de herança | Não compatível. | ✓ |
Busca preguiçosa/ansiosa | Não compatível. | Não compatível. |
Encomenda | ✓ | ✓ |
Validação | ✓ | ✓ |
Suporte ao índice
Funcionalidade do MongoDB | Suporte à visualização pública | Suporte de disponibilidade geral (GA) |
|---|---|---|
Capped collections | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância | Estamos considerando esse recurso para a versão GA. |
Clustered Collections | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância | Estamos considerando esse recurso para a versão GA. |
Índices compostos | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância | Estamos considerando esse recurso para a versão GA. |
Índices de documento incorporados | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância | Estamos considerando esse recurso para a versão GA. |
Índices geoespaciais | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância | Estamos considerando esse recurso para a versão GA. |
Índices de pesquisa do MongoDB | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância | Estamos considerando esse recurso para a versão GA. |
Índices de pesquisa MongoDB Vector Search | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância | Estamos considerando esse recurso para a versão GA. |
Índices multichave | Não compatível. Use o comportamento padrão do MongoDB para campos de array. | Estamos considerando esse recurso para a versão GA. |
Índices parciais | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância | Estamos considerando esse recurso para a versão GA. |
Validação de esquema | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância | Estamos considerando esse recurso para a versão GA. |
Índices de campo único | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância | Estamos considerando esse recurso para a versão GA. |
Índices esparsos | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância | Estamos considerando esse recurso para a versão GA. |
Unique indexes | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância | Estamos considerando esse recurso para a versão GA. |
Atualização de índices de modelo incorporados após a criação do modelo | Não compatível. No entanto, você pode descartar e recriar o índice do modelo incorporado manualmente. | Estamos considerando esse recurso para a versão GA. |
Recursos ORM do Hibernar
Esta seção indica se a extensão Hibernar ORM oferece suporte a vários recursos do Hibernado ORM.
Suporte ao tipo de dados
Tipo de Dados | Suporte à visualização pública | Suporte de disponibilidade geral (GA) |
|---|---|---|
Tipos de coleção (List, Set, Maps, arrays) | ✓. @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 incorporáveis, 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 incorporadas, binárias | ✓ | ✓ |
Entidades incorporadas, tipos de identificador | Partially Supported. Manually set the ID of an entity before persisting an entity. | We are considering this feature for GA release. |
Entidades Incorporadas, JSON | ✓ | ✓ |
Entidades incorporadas, semântica nula | ✓ | ✓ |
Entidades de nível superior, binários | ✓ | ✓ |
Entidades de nível superior, tipos de identificador | ✓ Manually assign UUIDs before persisting an entity. | ✓ Manually assign UUIDs before persisting an entity. |
Entidades de nível superior, JSON | ✓ | ✓ |
Entidades de nível superior, semântica nula | ✓ | ✓ |
Entidades de nível superior, tipos escalares | ✓ | ✓ |
Entidades de nível superior, tipos temporais | 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 ternária (verdadeiro, falso ou DESCONHECIDO) | Não suportado. | Planejado. |
Suporte a consultas
Funcionalidade ORM do Hibernar | Suporte à visualização pública | Suporte de disponibilidade geral (GA) |
|---|---|---|
queries HQL e JPQL, operadores agregados | Não compatível. No entanto, o método | Planejado. |
Queries HQL e JPQL, operadores aritméticos | Não compatível. No entanto, o método | Estamos considerando esse recurso para a versão GA. |
Queries HQL e JPQL, operadores de array | ✓ | ✓ |
queries HQL e JPQL, operadores de comparação | 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 e JPQL, operadores de elementos | ✓ | ✓ |
Queries HQL e JPQL, operadores de avaliação | Não compatível. No entanto, o método | Planejado. |
Queries HQL e JPQL, JUNTAS | Não compatível. No entanto, você pode usar o método | Planejado. |
queries HQL e JPQL, operadores lógicos | ✓ | ✓ |
Suporte a banco de dados e collection
Funcionalidade ORM do Hibernar | Suporte à visualização pública | Suporte de disponibilidade geral (GA) |
|---|---|---|
Cache de primeiro nível | ✓ | ✓ |
Cache de segundo nível | ✓ | ✓ |
Suporte a framework e bibliotecas
Esta seção indica se a extensão Hibernate ORM suporta vários frameworks ou bibliotecas externas.
Framework ou Library | Suporte à visualização pública | Suporte de disponibilidade geral (GA) |
|---|---|---|
Inicialização de primavera e dados de primavera | Parcialmente suportado. Não garantimos suporte para todos os recursos do Spring Boot ou Spring Data. Consulte os Dados da Mola com a Aplicação MongoDB Hibernado para obter um exemplo de um aplicativo feito com a extensão ORM do Hibernado e Dados da Mola. | Parcialmente suportado. Não garantimos suporte para todos os recursos do Spring Boot ou Spring Data. Veja o aplicativo Spring Data with MongoDB Hibernar para obter um exemplo de um aplicativo feito com a extensão ORM do Hibername e Spring Data. |