Boa tarde Bruno,
qual o erro que aparece?
--
Abraços
Marcus Paulo
Sun Certified Java Programmer 6 (SCJP)
Fotos: www.flickr.com/photos/marcus-paulo/
2012/4/18 Bruno Rodrigues <brunorodrigues197@yahoo.com.br>
> **
>
>
> Boa tarde grupo.
>
> Novamente estou
> escrevendo por um problema com JPA.
>
> Eu tenho duas tabelas
> que se relacionam many-to-many através de uma terceira tabela. Até
> ai tranquilo, só que ambas as tabelas possuem chave primaria
> compostas.
> Já tentei usando ManyToMany pra ligar direto as duas
> tabelas e criando essa terceira entidade para fazer um ManyToOne e
> depois OneToMany (Como segue o exemplo), mas em todos os casos o
> problema é o mesmo. Ele diz que preciso declarar todas as chaves
> primarias com o JoinColumns, mas eu só tenho uma chave primaria em
> comum nas tabelas, então, quando executo uma consulta dá uma
> Exception dizendo que as outras duas chaves não foram encontradas na
> tabela intermediaria.
>
> Alguém já passou por
> isso e teria algumas ideia?
> Vou escrever as classes
> do cenário e as tabelas do banco seguem a mesma logica.
>
> public class TabelaA
> implements Serializable {
> @EmbeddedIdprotected TabelaAPK
> tabelaAPK;
> @OneToMany(cascade =
> CascadeType.ALL, mappedBy = tabelaA")private List<TabelaC>
> tabelaCList;
>
> … }
>
> public class TabelaAPK
> implements Serializable {
> @Column(name = "ida") private int ida; @Column(name =
> "idoutro") private int
> idoutro; @Column(name =
> "idmaisum") private int
> idmaisum;
>
> … }
>
> O mesmo para a tabela B
>
> public class TabelaB
> implements Serializable {
> @EmbeddedIdprotected TabelaBPK
> tabelaBPK;
> @OneToMany(cascade =
> CascadeType.ALL, mappedBy = tabelaB")private List<TabelaC>
> tabelaCList;
>
> … }
>
> public class TabelaBPK
> implements Serializable {
> @Column(name = "idb") private int idb; @Column(name =
> "idqualquer") private int
> idqualquer; @Column(name =
> "idoutroqualquer") private int
> idoutroqualquer;
>
> … }
>
> E a tabela que une as
> duas
>
> public class TabelaC {
>
> @ManyToOne(fetch=FetchType.LAZY)
>
> @JoinColumn(name="ida", referencedColumnName="ida",
> insertable=false,updatable=false )
> private TabelaA
> tabelaA;
>
> @ManyToOne(fetch=FetchType.LAZY)
>
> @JoinColumn(name="idb",referencedColumnName="idb",insertable=false,updatable=false)
>
> private TabelaB
> tabelaB;
>
> }
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
[As partes desta mensagem que não continham texto foram removidas]
------------------------------------
Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-brLinks do Yahoo! Grupos
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/java-br/
<*> Para sair deste grupo, envie um e-mail para:
java-br-unsubscribe@yahoogrupos.com.br
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html







0 comentários:
Postar um comentário