| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/11/2010 22:41:38
|
Mikhas
Virtual Machine Man
![[Avatar]](/images/avatar/4388a23da67b154b780b78dd7ea4636e.jpg)
Membro desde: 17/06/2008 11:10:50
Mensagens: 677
Localização: São Paulo
Offline
|
Ahe galera!
Estou montando um sistema para a facul com JPA etc.
Pulando para o problema, o caso é o seguinte: Tenho um objeto Requisito que possui diversos atributos. Quando vou persistir um novo requisito com novos atributos, o hibernate executa o insert do requisito, um insert para cada atributo e por fim, executa um ultimo insert associativo e é nesse que da o erro. Acredito que o erro esta na maneira que anotei o relacionamento.
Grato desde já.
Comandos Gerados:
O ultimo comando que da problema. Não deveria ser executado.
Diagrama das tabelas em anexo.
|
| Nome do arquivo |
tabelas.png |
Download
|
| Descrição |
Diagrama de tabelas |
| Tamanho |
5 Kbytes
|
| Baixado: |
25 vez(es) |
|
Refractor 1.6 - Easy reflection framework
Agora muito mais rapido!
Raze - The fastest CSS selector engine
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/11/2010 23:46:16
|
mrrbigu
Debugger
![[Avatar]](/images/avatar/116e268d0a91872deec1347eb675259c.jpeg)
Membro desde: 06/12/2007 17:45:50
Mensagens: 66
Localização: Espírito Santo
Offline
|
Esse último insert está aparecendo porque você usou a anotação @JoinTable, que normalmente só se justifica em relacionamentos ManytoMany, onde existe a necessidade de uma tabela de ligação que guarda as chaves primárias dessas tabelas. Você usou esse comando informando que o nome da tabela é "tbl_atributo" e ele tenta fazer um insert das chaves primárias nessa tabela, mas pelo esquema que você passou ela não existe, daí o erro.
Já que o relacionamento é ManytoOne, não há necessidade dessa tabela de ligação, remova o @JoinTable, use apenas o @JoinColumn que deve funcionar.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/11/2010 08:41:01
|
Mikhas
Virtual Machine Man
![[Avatar]](/images/avatar/4388a23da67b154b780b78dd7ea4636e.jpg)
Membro desde: 17/06/2008 11:10:50
Mensagens: 677
Localização: São Paulo
Offline
|
Valeu! Consegui fazer apenas com o JoinColumn e adicionando um parametro no @OneToMany.
Gostaria de saber, como eu faço agora se meu objeto tiver 2 campos como chave no Requisito? Terei que criar um Embeddable?
Meu código atual:
|
Refractor 1.6 - Easy reflection framework
Agora muito mais rapido!
Raze - The fastest CSS selector engine
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/11/2010 16:19:22
|
mrrbigu
Debugger
![[Avatar]](/images/avatar/116e268d0a91872deec1347eb675259c.jpeg)
Membro desde: 06/12/2007 17:45:50
Mensagens: 66
Localização: Espírito Santo
Offline
|
Sim, você tera que usar @Embeddable.
veja em: http://docs.jboss.org/ejb3/app-server/HibernateAnnotations/reference/en/html_single/index.html#d0e1517
|
|
|
 |
|
|
|
|