Pergunta

eu definir a minha propriedade entidade

@GeneratedValue
Long id;

e eu capaz de gerar id para a entidade no banco de dados. Minha pergunta é por todas as entidades estão compartilhando o mesmo número incremental? Não são cada tabela deve iniciar a contagem de zero?

Foi útil?

Solução

Depende do banco de dados subjacente. GenerationType é AUTO por padrão, e escolhe Hibernate uma das três variantes, dependendo do banco de dados. Se você quiser usar um em particular, defini-lo como atributo da @GeneratedValue

Outras dicas

Esta é dependente do banco de dados. implementações JPA usar geradores de identificação diferentes, dependendo de qual sistema de banco de dados que eles estão usando. Por exemplo, com a Oracle, uma única seqüência será criado, e que a seqüência será usado para gerar IDs para todos os tipos de entidade. Por padrão, ele não vai criar uma seqüência para cada entidade, uma vez que geralmente não há razão para isso. A mesma lógica se aplica a outros sistemas de banco de dados que seqüências de uso ao invés de colunas auto-incremento.

Eu não estou 100% de certeza se a API JPA permite alterar esse comportamento, mas eu sei que as anotações do Hibernate fazer. No entanto, você não nos disse qual banco de dados você está usando ou que a implementação JPA você está usando, então eu não posso lhe dar muito mais conselhos do que isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top