Alguem me ajuda com ManyToMany annotations?

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

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

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

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

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

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:

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:

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