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 tem suporte apenas a conjuntos de réplicas MongoDB. Quando você usa um recurso não suportado, a extensão ORM do Hibername lança um UnsupportedFeatureException.
Você pode fazer uma solicitação de suporte para um recurso criando uma ideia no AHA. Priorizamos os próximos recursos com base na demanda do usuário.
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 MongoDB BSON Fields no guia Criar Entidades.
Suporte a consultas
Funcionalidade do MongoDB | Suporte de disponibilidade geral (GA) |
|---|---|
Gravações em massa | ✓ |
Excluir operações | ✓ |
Consultas geoespaciais | Não suportado. No entanto, o método |
Inserir operações | ✓ |
Query de pesquisa do MongoDB Search | Não suportado. No entanto, o método |
Queries do MongoDB Vector Search | Não suportado. No entanto, o método |
Query nativa com MQL | ✓ |
Projeções | Parcialmente compatível. Expressões de agregação dentro de projeções de query não são suportadas, e você deve incluir todos os campos da entidade em sua projeção. |
Ler operações | ✓ |
Atualizar operações | ✓ |
Operações upsert | Parcialmente compatível. As operações de upsert são suportadas em entidades sem versão por meio da API |
Suporte a banco de dados e collection
Funcionalidade do MongoDB | Suporte de disponibilidade geral (GA) |
|---|---|
Fluxos de alterações | Não suportado. No entanto, você pode usar um fluxo de alterações por meio do driver Java do MongoDB. Para aprender mais, consulte a seção Open Change Streams na documentação do driver Java. |
Criptografia no nível do campo do lado do cliente (CSFLE) e Queryable Encryption (QE) | Não suportado. Estamos considerando esse recurso para uma versão futura. No entanto, você pode configurar o CSFLE/QE ao configurar o driver Java do MongoDB. Para aprender mais, consulte a documentação do CSFLE no manual do MongoDB Server . |
GridFS | Não suportado. No entanto, você pode usar o GridFS por meio do driver Java do MongoDB. Para saber mais, consulte o guia Armazenamento de arquivos grandes com GridFS na documentação do driver Java. |
Dados de Time Series | Não suportado. No entanto, você pode criar uma coleção de séries temporais por meio do driver Java do MongoDB. Para saber mais, consulte o guia Coleção de séries temporais na documentação do driver Java. |
Instâncias | 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. |
Visualizações | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância |
Transações e simultaneidade
Funcionalidade do MongoDB | Suporte de disponibilidade geral (GA) |
|---|---|
Bloqueio | Parcialmente compatível. O bloqueio otimista é suportado em entidades que possuem um campo anotado com |
Transações | ✓ |
Mapeamento e suporte a modelos
Funcionalidade do MongoDB | Suporte de disponibilidade geral (GA) |
|---|---|
Associações | Parcialmente compatível. As anotações |
IDs de geração automática | Parcialmente compatível. A autogeração de ObjectIds é suportada. No entanto, você pode definir manualmente os identificadores |
Chaves primárias compostas | Parcialmente compatível. Declarar uma chave composta com |
Estratégia de herança | Parcialmente compatível. Herança de tabela única e superclasses mapeadas são suportadas. Não oferece suporte às estratégias |
| Não compatível. |
Busca preguiçosa/ansiosa | Não compatível. |
Encomenda | ✓ |
| Não suportado. A extensão Hibernate ORM rejeita o elemento |
| ✓ |
Validação | ✓ |
Suporte ao índice
Funcionalidade do MongoDB | Suporte de disponibilidade geral (GA) |
|---|---|
Capped collections | Não suportado. No entanto, você pode usar o driver Java do MongoDB para definir uma instância de |
Clustered Collections | Não suportado. No entanto, você pode usar o driver Java do MongoDB para definir uma instância de |
Índices compostos | ✓ |
Índices de documentos incorporados | Não suportado. No entanto, você pode usar o driver Java do MongoDB para definir uma instância de |
Índices geoespaciais | Não suportado. No entanto, você pode usar índices geoespaciais através do driver Java do MongoDB. Para saber mais, consulte a seção Índices geoespaciais do guia índices na documentação do driver Java. |
Índices de pesquisa do MongoDB | Não suportado. No entanto, você pode usar índices do MongoDB Search por meio do driver Java do MongoDB. Para aprender mais, consulte a seção Índices de pesquisa do MongoDB Search e de pesquisa vetorial do guia de índices na documentação do driver Java. |
Índices de Vector Search do MongoDB | Não suportado. No entanto, você pode usar os índice de pesquisa vetorial do MongoDB por meio do driver Java do MongoDB. Para aprender mais, consulte a seção Índices de pesquisa do MongoDB Search e de pesquisa vetorial do guia de índices na documentação do driver Java. |
Multikey Indexes | Não suportado. No entanto, você pode usar índices multikey por meio do driver Java do MongoDB. Para aprender mais, consulte a seção Índices multikey (índices em campos de array) do guia de índice na documentação do driver Java. |
Índices Parciais | Não suportado. No entanto, você pode usar o driver Java do MongoDB para definir uma instância de |
Validação de esquema | Não suportado. No entanto, você pode usar o driver Java do MongoDB para definir uma instância de |
Índices de campo único | ✓ |
Sparse Indexes | Não suportado. No entanto, você pode usar o driver Java do MongoDB para definir uma instância de |
Unique Indexes | ✓ |
Atualizando índices de modelo incorporado após a criação do modelo | Não suportado. No entanto, você pode descartar e recriar o índice do modelo incorporado manualmente. |
Para aprender mais sobre índice, consulte o guia Índice para otimização de query.
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 de disponibilidade geral (GA) |
|---|---|
Tipos de coleção (List, Set, Maps, arrays) | ✓ |
Entidades incorporáveis, tipos escalares | Parcialmente compatível. Os tipos |
Entidades incorporadas, binárias | ✓ |
Entidades incorporadas, tipos de identificador | Parcialmente compatível. Defina manualmente o ID de uma entidade antes de persistir uma entidade. |
Entidades Incorporadas, JSON | ✓ |
Entidades incorporadas, semântica nula | ✓ |
Entidades de nível superior, binários | ✓ |
Entidades de nível superior, tipos de identificador | ✓ |
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 | Parcialmente compatível. Os tipos |
Lógica ternária (verdadeiro, falso ou DESCONHECIDO) | Não suportado. |
Suporte a consultas
Funcionalidade ORM do Hibernar | Suporte de disponibilidade geral (GA) |
|---|---|
queries HQL e JPQL, operadores agregados | ✓ |
Queries HQL e JPQL, operadores aritméticos | Parcialmente compatível. Suporta os operador Para aprender mais, consulte a seção Usar expressões computadas no guia Especificar uma query. |
Queries HQL e JPQL, operadores de array | ✓ |
Queries HQL e JPQL, Funções de Data e Hora | Parcialmente compatível. Compatível com as funções |
Queries HQL e JPQL, funções de string | Parcialmente compatível. Suporta as funções |
Queries HQL e JPQL, expressões case | Parcialmente compatível.
Para obter mais informações e ver um exemplo, consulte a seção Expressões de caso de uso para lógica condicional no guia Especificar uma query. |
queries HQL e JPQL, operadores de comparação |
|
Queries HQL e JPQL, operadores de elementos | ✓ |
Queries HQL e JPQL, operadores de avaliação | Parcialmente compatível. Suporta o operador de avaliação |
query HQL e JPQL, Agrupamento | Parcialmente compatível. Suporta as cláusulas
|
query HQL e JPQL, Joins | Parcialmente compatível. Você pode unir entidades navegando em uma associação mapeada, como em
|
queries HQL e JPQL, operadores lógicos | ✓ |
Queries HQL e JPQL, funções de string | Parcialmente compatível. Oferece suporte às funções |
Suporte a banco de dados e collection
Funcionalidade ORM do Hibernar | 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 de disponibilidade geral (GA) |
|---|---|
Spring Boot e Spring Data JPA | Parcialmente compatível. A extensão Hibernate ORM fornece um Spring Boot starter que configura JPA com suporte MongoDB e repositórios Spring Data JPA. Não garantimos suporte para todos os recursos do Spring Boot ou Spring Data. Para saber mais, consulte a seção Integração do Spring Boot e Spring Data JPA. |