Mapeando chave unique com Hibernate Annotations

1 resposta
Bettlejuice

Amigos,

Tenho um caso aqui complicado sobre Unique Key e Hibernate Annotations:

Tenho uma tabela de cartões no qual o número do cartão não deve se repetir (unique key), mas a tabela também possui sua PK, com seu sequence próprio.

Resumindo, tenho o ID_CARTAO como PK e o NR_CARTAO como UK.

Muito bem, uso o @GeneratedValue e @SequenceGenerator para mapear o ID e gerar os números corretamente pela sequence:

@Id @GeneratedValue(strategy=GenerationType.AUTO, generator = "TSATCARTAO_SEQ") @Column (name = "IS_CARTAO", nullable=false) private Long id;

Estou fazendo o mesmo com o campo UK (que chamo de numeroCartao):

@GeneratedValue(strategy=GenerationType.AUTO, generator = "TSATCARTAO_NUM_SEQ") @Column (name = "NR_CARTAO") private Long numeroCartao;

Se eu fizer apenas isso, a aplicação roda, mas não chama a sequence do número do cartão. Se tento inserir um @SequenceGenerator pra ele, a aplicação não permite (to usando o Eclipse), acusando annotations duplicados…

E então, como devo proceder?

Obrigado pela atenção.

1 Resposta

plentz

Até onde sei, não é possível usar um generator para uma coluna que não é Id.

Criado 4 de abril de 2007
Ultima resposta 14 de abr. de 2007
Respostas 1
Participantes 2