Como mapear essa situação?

E aí, galerinha do GUJ!
Tudo bem?

Tô com um problema pra mapear uma situação, gostaria da ajuda de vocês.
Tenho as seguintes tabelas:

[code]CREATE TABLE CARDAPIOS (
ID BIGINT NOT NULL PRIMARY KEY,
//…);

CREATE TABLE PRODUTOS (
ID BIGINT NOT NULL…
//…);

CREATE TABLE PRODUTOSCARDAPIOS (
CARDAPIO BIGINT NOT NULL,
PRODUTO BIGINT NOT NULL,
QUANTIDADE INTEGER NOT NULL,
FOREIGN KEY (CARDAPIO) REFERENCES CARDAPIOS(ID),
FOREIGN KEY (PRODUTO) REFERENCES PRODUTOS(ID),
PRIMARY KEY (CARDAPIO, PRODUTO));
[/code]

Essa é minha situação.
Eu mapeei as classes da seguinte maneira:

[code]@Entity
@Table(name = “cardapio”, schema = “dbo”)
@SequenceGenerator(initialValue=1, name=“s”, sequenceName=“dbo.seq_cardapio”)
public class Cardapio implements Serializable {

@Id
@Basic(optional = false)
@Column(name = "id", nullable = false)
@GeneratedValue(generator="s", strategy=GenerationType.SEQUENCE)
private Long ID;
@Basic(optional = false)
@Column(name = "descricao", nullable = false, length = 100)
private String descricao;
@Basic(optional = false)
@Column(name = "preco", nullable = false)
private double preco;

@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name="dbo.cardapioprodutos",
joinColumns= { @JoinColumn(name="cardapio")},
        inverseJoinColumns={@JoinColumn(name="produto")}
)
private List<Produto> produtos;

}

@Entity
@Table(name = “produtos”, schema = “dbo”)
public class Produto implements Serializable {

@Id
@Basic(optional = false)
@Column(name = "id", nullable = false)
private Long ID;

@Basic(optional = false)
@Column(name = "nome", nullable = false, length = 50)
private String nome;

//...

}[/code]
O meu problema tá na coluna QUANTIDADE da tabela PRODUTOSCARDAPIOS.
Onde eu devo colocar esse campo? Em qual entidade?
Podem me dar uma força, galera?

Grande abraço a todos,
fiquem com Deus! :smiley:

Você vai ter que criar uma classe PRODUTOSCARDAPIOS, já que sua tabela possui mais informações além das chaves estrangeiras que formam a tabela de relacionamento N-N.

Valeu pela resposta, romarcio.
Sim, entendi a ideia, mas como ficaria, então?
Seria uma anotação @ManyToMany para a classe CardapioProduto?
O que conteria na classe? Só a quantidade ou objetos também que representem o Cardapio e o Produto?
Pode me dar uma força?

Valeu, grande abraço,
fique com Deus! :smiley:

Algo parecido…

Encontrei esse link: http://dchohfi.com/2009/09/29/many-to-many-com-colunas-extras-hibernate-jpa/