Bom dia pessoal, eu tenho aqui uma tabela de movimentação de produtos, que pode ser uma venda, um orçamento, etc. Essa tabela possui um número de nota, e, para cada movimentação de saída, é necessário gerar um número de nota. Para isso pensei em usar sequences, eu crio uma para cada tipo de movimentação de saída (venda, orçamento, etc) e executo toda vez que for cadastrar uma nova movimentação. Porém, o mapeamento padrão de sequence é para a PK da tabela, e seria uma única sequence, o meu caso é diferente.
No meu caso eu preciso executar manualmente a sequence correspondente ao tipo da movimentação, mas não quero executar usando SQL, pois dessa forma eu fico dependente do banco de dados, alguém sabe se existe alguma forma de mapear a sequence via JPA e executar?
Uso de sequence para geração de número sequencial
R
5 Respostas
J
Boa tarde!
Acredito que seja isto que esteja procurando…
> @TableGenerator(name="USER_GENERATOR",
> table="GENERATED_KEYS",
> pkColumnName="PK_COLUMN",
> valueColumnName="VALUE_COLUMN",
> pkColumnValue="USER_ID",
> allocationSize=1
> )
> @Id
> @GeneratedValue(strategy = GenerationType.TABLE, generator="USER_GENERATOR")
> private int id;
R
Bom dia Jonathan,
Desculpe a demora para responder, mas, como havia dito, no meu caso, a coluna não é uma PK, é um “sequencial burro”.
R
Qual é o seu BD?
R
Estou usando o postgres, mas estou tentando fazer algo mais independente do BD…
R
Dizem que dá pra fazer com o Postgresql http://stackoverflow.com/a/4979988
@Column(name = "orderId", columnDefinition = "serial")
@Generated(GenerationTime.INSERT)
private Integer orderId;
Senão você terá que criar um Trigger. Foi que eu vi até o momento o @GeneratedValue não funciona p/ field’s que não tem a anotação @Id .
Criado 17 de novembro de 2016
Ultima resposta 21 de nov. de 2016
Respostas 5
Participantes 3
Alura O que é Python? — um guia completo para iniciar nessa linguagem de programação Acesse agora o guia sobre Python e inicie sua jornada nessa linguagem de programação: o que é e para que serve, sua sintaxe e como iniciar nela!
Casa do Codigo Back-end Java: Microsservicos, Spring Boot e Kubernetes Por Eduardo Felipe Zambom Santana — Casa do Codigo