Hibernate - Utilizando "@GeneratedValue"(ou algo simular) para campo que não é ID

Bom pessoal, to fazendo uma aplicação utilizando Hibernate e to com uma duvida! Não sei se o que eu quero é possível, já olhei a documentação mas não achei nada!
É o seguinte…

Tenho a minha classe com o meu campo Id e nela a um outro campo chamado tipo e outro chamado Sequnecial. +/- Assim:
private long Id;
private long Codigo;
private long Sequencial;

Bom, o Id é um campo sequencial que jamais se repete! Até ai ok! mas o que eu precisava era o seguinte, que o campo Sequencial também fosse gerado automáticamente, porem a sua ordem depende do campo “Codigo”. Quando o “codigo” alterar o sequencial zera! Tem como fazer isso pelo próprio hibernate?

Seria usar um @GeneratedValue com base em algum outro campo!
Bom é isso!! Obrigado! :smiley:

Fernando_fc,

Deixa eu ver se entendi! Se fossemos transformar sua dúvida em uma query ela ficaria assim: SELECT MAX(sequencial) FROM tabela WHERE codigo = ?. Não conheço Hibernate a fundo ainda, mas acho que vc vai ter que obter esse sequencial da base antes de atribuir, sinceramente não sei se existe uma forma fácil de fazer isso. Agora, como vc vai obter esse Código (não o ID nem o Sequencial) ? Talvés vc possa ao obter este código, já pegar o sequencial também? É só uma idéia!

ASOBrasil