Número sequencial de 5 dígitos

11 respostas
C

Pessoal,

como faço para gerar números sequencias de 5 dígitos, utilizando Hibernate ? Segue abaixo parte do código. O número seria o numeroCondutor.

@Entity
public class Condutor extends Pessoa {
		
	private Integer numeroCondutor;

11 Respostas

C

Ninguém???

L

Seria mais apropriado vc usar um Long em vez de um Integer…

C

Sim, pode ser.

Mas… não tem idéia de como fazer a geração utilizando Hibernate, nesta condição?

A

O que você quer dizer exatamente/pode ser mais claro?

Não sei se o comprendí, todavia, por que não usa o generatedValue do Hibernate (JPA)?

C

andredecotia:
O que você quer dizer exatamente/pode ser mais claro?

Não sei se o comprendí, todavia, por que não usa o generatedValue do Hibernate (JPA)?

Então, na minha tabela terei uma coluna, chamada numeroCondutor. Os campos deverão ser preenchidos com valores de cinco dígitos. Por exemplo, 00001, 00002, … 10001; sequencialmente.

Não posso utilizar o Generated Value, pois a classe em questão herda da classe pessoa, que já faz uso do @Generated Value com @Id. Se assim eu fizer, dá problema.

Kanin_Dragon

Jovem,

Apenas uma curiosidade, pq esse número condutor não é sua pk com auto increment ?

C

Kanin Dragon:
Jovem,

Uma curiosidade, esse numero gerado não é sua PK né?

Kanin,

não não. Não é a PK.

Z111

claytonbras:
andredecotia:
O que você quer dizer exatamente/pode ser mais claro?

Não sei se o comprendí, todavia, por que não usa o generatedValue do Hibernate (JPA)?

Então, na minha tabela terei uma coluna, chamada numeroCondutor. Os campos deverão ser preenchidos com valores de cinco dígitos. Por exemplo, 00001, 00002, … 10001; sequencialmente.

Não posso utilizar o Generated Value, pois a classe em questão herda da classe pessoa, que já faz uso do @Generated Value com @Id. Se assim eu fizer, dá problema.

vc só quer que o valor seja apresentado com 5 posições? : NumberFormat

C

Z,

mas a representação no banco deve ser também de 5 dígitos.

Z111

veja bem, alguém irá consultar diretamente no banco?

neste caso, a coluna deverá ser do tipo char no DB e o atributo no objeto formataria o valor usando NumberFormat.

outra opção é criar uma computed column (se o DB permitir) com o campo formatado (POG).

não consigo ver uma forma simples de resolver este problema. certa feita tive uma discussão com este mesmo problema, e pude convencer o solicitante que: número é número, string é string - comportamentos diferentes

C

Z,

entendi. Problema todo é que o “número” deve ser incrementado a cada inserção de registro de condutor.

Criado 13 de abril de 2011
Ultima resposta 14 de abr. de 2011
Respostas 11
Participantes 5