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 solicitar suporte para uma funcionalidade criando uma ideia 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 compatível. No entanto, o método |
Inserir operações | ✓ |
Queries de pesquisa do MongoDB | Não compatível. No entanto, o método |
Queries do MongoDB Vector Search | Não compatível. No entanto, o método |
Query nativa com MQL | ✓ |
Projeções | Parcialmente suportado. Expressões de aggregation dentro de projeções de query não são suportadas, e você deve incluir todos os campos de entidade em sua projeção. |
Ler operações | ✓ |
Atualizar operações | ✓ |
Operações upsert | Parcialmente suportado. As operações de upsert são suportadas em entidades não versionadas 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 compatível. No entanto, você pode usar um change stream por meio do MongoDB Java Driver. Para saber mais, consulte a seção Open Change Streams na documentação do Java Driver. |
Criptografia no nível do campo do lado do cliente (CSFLE) e Queryable Encryption (QE) | Não compatível. Estamos considerando esse recurso para um lançamento futuro. No entanto, você pode configurar o CSFLE/QE ao configurar o driver Java do MongoDB . Para saber mais, consulte a documentação do CSFLE no manual do MongoDB Server . |
GridFS | Não compatível. 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 compatível. 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ções 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 suportado. O bloqueio otimista é suportado em entidades que têm um campo anotado com |
Transações | ✓ |
Mapeamento e suporte a modelos
Funcionalidade do MongoDB | Suporte de disponibilidade geral (GA) |
|---|---|
Associações | Parcialmente suportado. As anotações |
IDs de geração automática | Parcialmente suportado. A geração automática de ObjectIds é compatível. No entanto, você pode definir manualmente os identificadores |
Chaves primárias compostas | Parcialmente suportado. Declare uma chave composta com |
Estratégia de herança | Parcialmente suportado. Herança de tabela única e superclasses mapeadas são suportadas. Não suporta as estratégias |
| Não compatível. |
Busca preguiçosa/ansiosa | Não compatível. |
Encomenda | ✓ |
| Não compatível. A extensão Hibername ORM rejeita o elemento |
| ✓ |
Validação | ✓ |
Suporte ao índice
Funcionalidade do MongoDB | 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 |
Clustered Collections | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância |
Índices compostos | ✓ |
Índices de documentos incorporados | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância |
Índices geoespaciais | Não compatível. No entanto, você pode usar índices geoespaciais por meio 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 compatível. No entanto, você pode usar índices de pesquisa do MongoDB por meio do driver Java do MongoDB . Para saber mais, consulte a seção Índices de pesquisa e Vector Search do MongoDB do guia Índices na documentação do Driver Java . |
Índices de Vector Search do MongoDB | Não compatível. No entanto, você pode usar índices do MongoDB Vector Search por meio do MongoDB Java Driver. Para saber mais, consulte a seção Índices de pesquisa e Vector Search do MongoDB do guia Índices na documentação do Driver Java . |
Multikey Indexes | Não compatível. No entanto, você pode usar índices de várias chaves por meio do driver Java do MongoDB . Para saber mais, consulte a seção Índices multichave (índices em campos de array) do guia Índices na documentação do driver Java . |
Índices Parciais | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância |
Validação de esquema | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância |
Índices de campo único | ✓ |
Sparse Indexes | Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma instância |
Unique Indexes | ✓ |
Atualização de índices de modelo incorporado após a criação do modelo | Não compatível. No entanto, você pode soltar e recriar o índice do modelo incorporado manualmente. |
Para saber mais sobre índices, consulte o guia Índices para otimização de queries.
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 suportado. Os tipos |
Entidades incorporadas, binárias | ✓ |
Entidades incorporadas, tipos de identificador | Parcialmente suportado. 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 suportado. Os tipos |
Lógica ternária (verdadeiro, falso ou DESCONHECIDO) | Não compatível. |
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 suportado. Suporta os operadores Para saber 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 suportado. Suporta as funções |
Queries HQL e JPQL, expressões de caso | Parcialmente suportado.
Para obter mais informações e ver um exemplo, consulte a seção Usar expressões de caso 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 suportado. Suporta o operador de avaliação MongoDB |
Queries HQL e JPQL, cláusulas | Suportado. Você pode agrupar por uma referência de coluna ou por uma expressão e filtrar os resultados agrupados em uma cláusula |
Queries HQL e JPQL, JUNTAS | Parcialmente suportado. 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 suportado. Suporta o |
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 suportado. A extensão ORM do Hibernar fornece um iniciador do Spring Boot que configura os repositórios JPA e Spring Data JPA apoiados MongoDB. 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. |