Associativa com atributos!

Gente to com uma duvida!
estou criando uma classe associativa entre produto e venda!
e alem das pks das duas classes eu tb quero o atributo nome, qtd, vlr unit, vlr total.
como q eu faco esse mapeamento???
obrigado!

bom se entendi bem, só o fato de vc fazer o relacionamento uma com a outra já terá os atributos, não precisa relacionar os atributos só as PK´s…captou a idéia?

poderia esboçar melhor o que vc precisa, porque o que eu entendi já seria algo mais assim.

vc tem uma classe venda, onde o que importa por nosso esboço no momento é apenas o atributo totalVenda

vc tem outra classe produto, onde temos o valorDeVenda dele

e vc precisa de uma classe associativa chamada ItensVenda onde vc armazenará o idVenda o idProduto e ainda a qtdadeProduto e valorTotalProduto, seria algo assim?

isso mesmo igor!!!
como q faco para salvar esses atributos junto com as pks???
vlw

está fazendo o mapeamento com JPA/Hibernate utilizando anottations?

sim

Então vc precisa anotar o relacionamento de Produto e de Venda em ItensVenda como ManyToOne, sendo o relacionamento para produto uniderecional e para venda bidirecional, acrescenta um cascadeType no relacionamento da classe Venda como ALL ou PERSIST, dessa forma, ao salvar/alterar/deletar uma Venda, vai junto os seus itens, coloca seus atributos em Itens Venda normal, e na sua classe Venda vc pode criar um método chamado addItensVenda(ItensVenda iv) onde vc adiciona o item recebido a sua lista de itens que será criada a partir do relacionamento ManyToOne bidirecional.

vou te mandar minhas classes e ver oq tenho q fazer a mais!!!
Produto

@Entity
	public class Produto {
		@Id
		@GeneratedValue(strategy=GenerationType.IDENTITY) 	
	private int codigo_p;
		@Column
	private String nome;
		@Column
	private Float custo;
		@Column
	private int quantidade;
		@ManyToOne
	private Fornecedor fornecedor;
		@ManyToOne
	private Marca marca;
		@Column
	private Float tt_custo;

Venda

@Entity
public class Venda {
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY) 	
private int codigo_v;
	@Column
private String nome;
	@Column
private Float custo;
	@Column
private String fornecedor;
	@Column
private int nota;
	@Column
private Float valvenda;
	@Column
private Date data;
	@Column
private String marca;
	@Column
private Float porc;
	@Column
private Float lucro;
	@ManyToOne
private Pagamento pagamento;
	@ManyToMany(fetch=FetchType.EAGER)
	@JoinTable(name="Venda_Produtopk", joinColumns=@JoinColumn(name="codigo_v"),
			inverseJoinColumns=@JoinColumn(name="codigo_p"))
private List<Produto> produtos;

venda_produtopk

@Embeddable
public class Venda_Produtopk implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	@ManyToOne
	private Venda venda;
	@ManyToOne
	private Produto produto;

ae estao minhas 3 classes!!!
ve ai pra mim oq falta fazer!!!
vou te mostrar o getproduto

public List<Produto> getProdutos(){
		List<Produto> hs = new ArrayList<Produto>();
		model =(Vendatable) jTable.getModel();
		for(int i=0; i<model.getRowCount();i++){
			Produto p = new Produto();
			p.setCodigo_p((Integer)model.getValueAt(i, 0));
			p.setNome((String)model.getValueAt(i, 1));
			p.setQuantidade((Integer)model.getValueAt(i, 2));
			hs.add(p);
		}
		return hs;
}

vlw