SQL - Problema ids de tabelas relacionadas

Bom dia

Estou com uma dúvida que não acho pesquisando. Coloquei no stack overflow, só q só negativaram a pergunta.

tenho um db postgress, q foi gerado com entidades spring boot no Java, daí, tem 2 tabelas relacionadas e quando o banco vai gerar o id para os registros em cada uma, não gera de maneira independente.

Tipo, para a entidadeA gera id = 1, 2, 3…, aí vou cadastrar um registro da entidadeB e gera id = 4, 5, 6, 7, cadastro mais 2 da A e vem id = 8, 9… entendeu? queria deixar o id indenpendente entre as tabelas

Isso acontece porquê provavelmente você está utilizando a estratégia de sequence para gerar os IDs, e a sequence utilizada provavelmente é única para todas as tabelas!

Como sugestão, já que você está utilizando PostgreSQL, defina a coluna ID das suas tabelas com o tipo SERIAL que basicamente é um tipo de auto incremento, depois ajusta os IDs nas suas entidades alterando de sequence para identity.

2 curtidas

@alan121 complementando a resposta do @Jonathan_Medeiros, vc pode ter uma sequence para cada tabela. Mas é importante a gente saber como vc está fazendo para gerar esses IDs.

2 curtidas

obrigado por responder

como coloco esse SERIAL? É no proprio Java ou no banco?

E no atributo id estou fazendo tipo assim:

@Table(name = “tabelaA”)
public Class EntidadeA {

@Id
@GeneratedValue(strategy =GenerationType.AUTO)
private Integer idA;

daí, mudaria o AUTO para IDENTITY, certo?

Isso mesmo, coluna do tipo SERIAL no banco e IDENTITY na entidade.

1 curtida

Fiz assim, vou ver o que vai dar. Valeu, cara.