Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 19696|Resposta: 2

[Fonte] Política de geração de chaves primárias nativas Nhibernate

[Copiar link]
Publicado em 07/04/2017 10:02:04 | | |

Da última vez que criei um banco de dados Oracle para o sistema, a estratégia de usar o hibernate para gerar a chave primária era SEQUENCE, e eu me sentia muito cansado na época, porque não sei por quê, oracle+sequence+trigger não consegue obter o valor da chave primária ao adicionar novos dados.



Desta vez vou focar nisso, e há dois novos problemas,

1。 Qual estratégia de hibernação para gerar chaves primárias tem melhor desempenho;

2。 As principais estratégias de geração de chaves deveriam idealmente ser entre bases de dados.



Todo mundo fala sobre desempenho, o oráculo usa sequência, então a chave primária ainda quer ser gerada dessa forma.

Depois, há a chave primária para retornar os novos dados


Nativo
Escolha um de identidade, sequência ou hilo de acordo com as capacidades do banco de dados subjacente;

Ou seja, a chave primária é gerada, que é escolhida pelo hibernate.


Native e Denity são ambas estratégias de geração de números de série com ID de banco de dados, Native is Hibernate é automaticamente selecionado e gerado, Identity é auto-selecionado, Identity é MySQL, SQL2000 e outros métodos de geração de banco de dados, e também existe uma sequência que é Oracle e outros métodos de geração; de modo geral, Native é automaticamente selecionado pelo Hibernate

Para bancos de dados que suportam campos identidade internamente (DB2, MySQL, Sybase e MS SQL), você pode usar identidade desligada
Geração de palavras-chave. Para bancos de dados que suportam sequências internamente (DB2, Oracle, PostgreSQL, Interbase, McKoi e SAP).
DB), você pode usar geração de palavras-chave no estilo sequência. Ambas as abordagens exigem duas vezes para inserir um novo objeto
Consultas SQL.



Verifiquei mais informações online, não sei onde vi, essa estratégia de gerar chaves primárias, se for mysql, ele escolhe auto_increment forma de gerar a chave primária; Se for Oráculo, ele escolherá o método de sequência; É só que, ao usar o banco de dados Oracle, você precisa criar um hibernate_sequence, que é reservado pelo Hibernate, e que reportará um erro se você não o compilar (testado).




Anterior:Resumo da ordem de execução de métodos estáticos, não estáticos e construtivos em uma classe
Próximo:Lidar com a distinção concorrente entre Timestamp e Concurrency Check
 Senhorio| Publicado em 07/04/2017 10:02:07 |
Nativo é inato, nativo, o que significa que é inato.
Isso significa que é gerado automaticamente e não requer ajuda ou controle manual.

Atribuído significa designado, atribuído.
Se você não der algo a ele, ele não consegue.
Exige trabalho, dê algo para você mesmo
Então está atribuído
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com