Menu Docs
Página inicial do Docs
/ /

Compatibilidade com recursos do Hibername ORM

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 Hibernar ORM suporta apenas 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 solicitar suporte para um recurso criando uma ideia AHA.

MongoDB Extension for Hibernate ORM is currently in Public Preview. Public Preview is not recommended for production deployments, because breaking changes might be introduced.

Esta seção indica se a extensão Hibernar ORM é compatível com várias funcionalidades do MongoDB .

Para ver uma lista de todos os tipos BSON suportados na extensão Hibername ORM, consulte a seção Campos BSON do MongoDB no guia Criar Entidades.

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 createNativeQuery() método suporta queries geoespaciais. Inclua o $geoWithin $near estágio de pipeline ou em sua declaração de linguagem de query do MongoDB . Para saber mais sobre queries nativas, consulte o guia Executar queries de banco de dados nativas.

Estamos considerando esse recurso para a versão GA.

Inserir operações

Queries de pesquisa do MongoDB

Não compatível. No entanto, o createNativeQuery() método suporta queries de pesquisa. Inclua o $search estágio do pipeline em sua declaração de linguagem de query do MongoDB . Para exibir um exemplo, consulte a seção Executar uma query de pesquisa do MongoDB no guia Executar queries de banco de dados nativas.

Estamos considerando esse recurso para a versão GA.

Queries do MongoDB Vector Search

Não compatível. No entanto, o createNativeQuery() método suporta queries de Vector Search . Inclua o $vectorSearch estágio do pipeline em sua declaração de linguagem de query do MongoDB . Para saber mais sobre queries nativas, consulte o guia Executar queries de banco de dados nativas.

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 collection 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.

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 MongoClient instância. Em seguida, use o MongoClient.watch() método para abrir um fluxo de alteração.

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 MongoClient instância. Em seguida, chame o GridFSBuckets.create() método com uma MongoDatabase instância como parâmetro para instanciar um GridFSBucket.

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 MongoClient instância. Em seguida, crie uma nova coleção com timeSeriesOptions() especificado para criar uma coleção de séries temporais.

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 MongoClient instância. Em seguida, chame o createView() método na sua MongoDatabase instância do para criar uma nova visualização.

Estamos considerando esse recurso para a versão GA.

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

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

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 MongoClient instância. Em seguida, crie uma collection limitada especificando CreateCollectionOptions.capped(true) como um parâmetro em sua createCollection() chamada.

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 MongoClient instância. Em seguida, crie um documento chamado clusteredIndex e defina seu índice agrupado. Use esse índice clusterizado como parte do documento que você passa para o MongoDatabase.runCommand() método, que define a collection clusterizada.

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 MongoClient instância. Em seguida, chame o método aninhado MongoCollection.createIndex(Indexes.compoundIndex()) para criar um índice composto.

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 MongoClient instância. Em seguida, chame o método MongoCollection.createIndex(Indexes.ascending("field.subfield")) aninhado. Esse método usa caminhos de chave aninhados " campo.subfield" para criar um índice de documento incorporado .

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 MongoClient instância. Em seguida, chame o método aninhado MongoCollection.createIndex(geo2dsphere("location")) para criar um índice geoespacial no location campo.

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 MongoClient instância. Em seguida, chame o MongoCollection.createSearchIndex() método para criar um índice do MongoDB Search.

Estamos considerando esse recurso para a versão GA.

Índices do MongoDB Vector Search

Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma MongoClient instância. Em seguida, chame o MongoCollection.createSearchIndexes() método com um vector tipo SearchIndexModel para criar um índice do MongoDB Vector Search .

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 MongoClient instância. Em seguida, chame o método aninhado MongoCollection.createIndex(Indexes.partialFilterExpression()) para criar um índice parcial.

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 MongoClient instância. Em seguida, crie um validador executando o collMod comando pelo MongoDatabase.runCommand() método.

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 MongoClient instância. Em seguida, chame o método aninhado MongoCollection.createIndex(Indexes.ascending("field")) para criar um único índice de campo em ordem crescente no field campo.

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 MongoClient instância. Em seguida, especifique IndexOptions().sparse(true) como um parâmetro em sua chamada para o MongoCollection.createIndex() método para criar um Enterprise Advanced.

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 MongoClient instância. Em seguida, especifique IndexOptions().unique(true) como um parâmetro em sua chamada para o MongoCollection.createIndex() método para criar um Enterprise Advanced.

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 soltar e recriar o índice do modelo incorporado manualmente.

Estamos considerando esse recurso para a versão GA.

Esta seção indica se a extensão Hibernar ORM oferece suporte a vários recursos do Hibernado ORM.

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.

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 createNativeQuery() método é compatível com operadores agregados. Inclua o operador em sua declaração de linguagem de query do MongoDB . Para saber mais sobre queries nativas, consulte o guia Executar queries de banco de dados nativas.

Planejado.

Queries HQL e JPQL, operadores aritméticos

Não compatível. No entanto, o createNativeQuery() método suporta operadores aritméticos. Para exibir um exemplo, consulte a seção Usar operadores aritméticos no guia Executar queries de banco de dados nativas.

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 createNativeQuery() método oferece suporte a operadores de avaliação. Inclua o operador em sua declaração de linguagem de query do MongoDB . Para saber mais sobre queries nativas, consulte o guia Executar queries de banco de dados nativas.

Planejado.

Queries HQL e JPQL, JUNTAS

Não compatível. No entanto, você pode usar o driver Java do MongoDB para definir uma MongoClient instância. Em seguida, você pode consultar em várias coleções usando um pipeline de agregação .

Planejado.

Queries HQL e JPQL, operadores lógicos

Funcionalidade ORM do Hibernar
Suporte à visualização pública
Suporte de disponibilidade geral (GA)

Cache de primeiro nível

Cache de segundo nível

Esta seção indica se a extensão Hibernar ORM é compatível com 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

Partially Supported. We do not guarantee support for all Spring Boot or Spring Data features. See the Spring Data with MongoDB Hibernate App for an example of an app made with the Hibernate ORM extension and Spring Data.

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.

Voltar

Transações

Nesta página