Você usa Sequence numa PK númerica auto-incremental, isso quer dizer que esse valor é único, então não faz sentido vc ter uma sequence numa chave composta, tendeu?
o Hibernate sabe disso, então ele não deixa vc ter uma chave composta com um dos campos auto-increment…
mas como ficaria a tabela de items ? ela precisa ser chave composta contendo nroPedido e sequencia, senão daria chave duplicada ao inserir o segundo registros, não é ?
Como devo ‘dizer’ ao hibernate que no momento da inserção desse segundo registro a chave deve ser incrementada em mais 1(seqitem) ? como no exemplo que passei :?
cara, acho q entendi o q vc quer…enato o lance deve ser assim:
1 Pedido … N Itens … 1 Produto
Na tabela Itens vc vai ter uma chave composta montada com a PK do Pedido + a PK do Produto, e vai ter mais infos como qtd, seq, valor total do item, etc…
Então vc tem a sua Tabela Pedido, que contém varios Itens, e cada Item desse equivale a 1 Produto…ou seja um Produto pode estar em varios Itens, só q de Pedidos diferentes
pra q serve esse campo seq_det ??? pra determinar a ordenação de DetalhePedido? se for soh isso, não precisa ser PK…
1 Pedido tem qts DetalhePedido ??? Pelo q eu entendi, DetalhePedido, são os Itens do Pedido com a info de qtd, ou seja, 1 Pedido tem N DetalhePedido, e 1 Item pode estar em N DetalhePedido, certo?
como eu te falei anteriormente, o q vc esta fazendo não eh um Header/Detail, e sim um many-to-many com parametros a mais na tabela associativa, alem das PKs…
vc está correto, mas sabe como é, o banco já foi criado assim(leia-se legado) . Para cada registro do detalhePedido ele incrementa um na sequencia. Ex:
Como transformar isso para o hibernate sem mexer no banco ?
eu achei q vc pudesse mexer no banco…com o Hibernate vc nao vai conseguir mapear uma sequence dentro de uma chave composta…pode xingar quem modelou esse banco, hehehehehehehe…pra conseguir mapear com o hibernate, a modelagem do banco tem q ser bem feita, eu ja passei por uma situação igual a sua, mas tive a liberdade de mexer no banco…
isso é teoria de banco de dados, chave-primaria númerica e auto-incremental é única, então não faz sentido ter uma PK composta com auto-increment…
vc realmente vai ter q fazer alguma coisa manualmente nesse caso aih…