Alguem me ajuda com ManyToMany annotations?

7 respostas
Deluxe

Pessoal alguem pode me ajuda com @ManyToMany

tenho a seguinte estrutura

Produto
cod_produto

Periodo
cod_periodo

Periodo_produto
cod_periodo_produto
cod_produto
cod_periodo
preco

vlw

7 Respostas

Deluxe

algum tutorial ?

eu fiz assim
mais tenho duvidas

na minha classe Produto fiz assim

@ManyToMany(targetEntity=Periodo.class,cascade={CascadeType.PERSIST, CascadeType.MERGE}) @JoinTable(name="PERIODO_PRODUTO", joinColumns={@JoinColumn(name="COD_PRODUTO")}, inverseJoinColumns={@JoinColumn(name="COD_PERIODO")}) private Set<Periodo> periodo;

na minha classe Periodo fiz assim

@ManyToMany(cascade={CascadeType.PERSIST, CascadeType.MERGE}, mappedBy="periodo", targetEntity=Produto.class) private Set<Produto> produto;

está certo?
como devo mapear minha terceira classe? Periodo_Produto

R

Talvez os links abaixo sejam úteis:

http://java.sun.com/developer/technicalArticles/J2EE/jpa/
http://www.java2s.com/Code/Java/JPA/ManyToManyJoinedTable.htm
http://www.java2s.com/Code/Java/JPA/ManyToManyBidirectionalMapping.htm

Vini_Fernandes

Cara, com o hibernate fica assim:

No arquivo Produto.hbm.xml

<set name="listaDePeriodos" table="Periodo_produto" >
			<key column="cod_produto" />
			<many-to-many class="Periodo" column="cod_periodo"/>
</set>

No arquivo Periodo.hbm.xml

<set name="listaDeProdutos" table="Periodo_produto" >
			<key column="cod_periodo" />
			<many-to-many class="Produto" column="cod_produto"/>
</set>

Bem, como voce esta utilizando annotations e elas sao equivalentes aos arquivos de configuracao do hibernate, creio que isso possa te ajudar.

Ate mais

Deluxe

cara vlw…
mas hbm eu nao entendo nada
eu queria saber como fica minha terceira classe

Periodo_produto
cod_periodo_produto
cod_produto
cod_periodo
preco

Z

Você pode tentar fazer isso na mão, cria vc mesmo a terceira classe e mapeia para ela um relacionamento OneToMany, não sei se isso seria uma gambi, mas eu ja fiz assim. :oops:

abss :smiley:

T

Não precisa criar uma terceira classe.

ManyToMany as suas duas classes possuem uma coleção da outra. vc decide onde coloca o atributo mappedBy. Não é necessário a terceira classe.

Dei uma olhada rápida no seu codigo, parece estar certo. Dá uma olhada no tutorial que vc ira fazer correto e sem gambis.

:slight_smile:

Deluxe

se eu nao preciso da terceira classe
como eu vou persistir o preço que está na terceira tabela?

Criado 10 de setembro de 2009
Ultima resposta 10 de set. de 2009
Respostas 7
Participantes 5