Galera fiz um mapeamento de sequence no meu idPessoa, mais estou com uma duvida, pq o hibernate gera os codigos 10,20,30 as vezes 90, 100,120 nunca tem um padrao, sendo que teria que gerar 1,2,3…
Alguem sabe o pq disso?
Galera fiz um mapeamento de sequence no meu idPessoa, mais estou com uma duvida, pq o hibernate gera os codigos 10,20,30 as vezes 90, 100,120 nunca tem um padrao, sendo que teria que gerar 1,2,3…
Alguem sabe o pq disso?
Como você configurou seu arquivo de mapeamento XML? Se servir, segue um exemplo de configuração básica do mapeamento para campo de autoincremento.
<id column="id" name="id">
<generator class="increment"/>
</id>
O ideal é você postar seu código Java, o mapeamento XML e a estrutura da tabela no banco de dados para melhor compreensão do erro!
Espero ter ajudado, até mais!
Blz, mais eu nao uso xml faço tudo via annotations, meu codigo e esse:
@Entity
@Table(name = "pessoa")
public class Pessoa implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE)
@Column(name = "id_pessoa", unique=true)
private Integer idPessoa;
@Column(name = "nm_pessoa", unique=true, length=50)
private String nmPessoa;
@Column(name = "rg_ie", unique=true, length=11)
private String rgIe;
@Column(name = "cpf_cnpj", unique=true, length=18)
private String cpfCnpj;
Mais ainda nao entendi pq na sequence dele esta salvando numero em dezenas!!!
Realmente muito estranho! Já tentou criar um gerador genérico? Caso não, segue um exemplo aplicado ao seu código:
@Id
@GenericGenerator(name = "sequenciador", strategy = "increment")
@GeneratedValue(generator = "sequenciador")
@Column(name = "id_pessoa", unique=true)
private Integer idPessoa;
Espero ter ajudado, até mais =)
Show de bola funcionou mais estou com uma duvida fiz um teste com o GenerationType.AUTO e tbm funcionou qual a diferenca entre SEQUENCE e o AUTO?
SEQUENCE - usa uma SEQUENCE cujo nome deve ser dado (para bancos de dados que usam SEQUENCE, como o Oracle ou o PostgreSQL.)
AUTO - usa campo auto-incrementado em bancos de dados que só têm campos auto-incrementados (como o MS SQL Server e o MySQL), uma sequence em bancos de dados que usam SEQUENCE), ou outra coisa ainda se o banco de dados não tiver nada dessas coisas.
Entao vc me aconselha a usar a SEQUENCE de acordo como vc me explicou anteriormante ou usar o AUTO que ficara generico para qualquer banco?