Dúvida relacionamento muitos-para-muitos

Pessoal, preciso de uma ajuda de vcs sobre como mapear classes muitos pra muitos, só que com atributo entre esse relacionamento.

Um exemplo: digamos que eu tenha a classe Leitor e uma classe Livro. O relacionamento seria um Leitor pode ter muitos Livros e um Livro pode ter muitos Leitores.

Digamos que eu queira colocar um atributo “data de leitura” entre esse relacionamento, seria tipo:

Leitor -> leitor_livros <- Livro

Aonde iria o atributo data de leitura?

neste caso acredito que como a data da leitura do livro foi efetuada por um leitor então ficaria no leitor… já em questão de modelagem de banco o melhor e fazer uma nova tabela que tenha 3 campos um id(pk) e duas chaves estrangeiras uma para livros e outra para leitor… isto facilita bem mais do que usar chaves compostas…

Mas veja que um Leitor pode ler vários livros. A classe Leitor (ou Pessoa) não pode ter o atributo “data de leitura” porque não vai ser uma data de leitura somente.

André, veja se esse link pode ajudá-lo:

[quote=ederson.js]André, veja se esse link pode ajudá-lo:

http://www.vaannila.com/hibernate/hibernate-example/hibernate-mapping-many-to-many-1.html[/quote]

Obrigado, Ederson, mas esse exemplo é sem atributo no relacionamento.

Mas veja que um Leitor pode ler vários livros. A classe Leitor (ou Pessoa) não pode ter o atributo “data de leitura” porque não vai ser uma data de leitura somente.[/quote]

É verdade… sendo vários livros ele não terá como ler vários na mesma hora… então vc pode criar uma terceira classe chamada Leitura onde terá a data da leitura, sendo que a mesma classe tem um relacionamento de 1 para 1 com leitor e livro… isto resolve seu problema…

Mas veja que um Leitor pode ler vários livros. A classe Leitor (ou Pessoa) não pode ter o atributo “data de leitura” porque não vai ser uma data de leitura somente.[/quote]

É verdade… sendo vários livros ele não terá como ler vários na mesma hora… então vc pode criar uma terceira classe chamada Leitura onde terá a data da leitura, sendo que a mesma classe tem um relacionamento de 1 para 1 com leitor e livro… isto resolve seu problema…[/quote]

Vc tem razão, como um amigo aqui do trabalho me disse, quando um relacionamento entre classes tem um atributo, uma nova classe deve ser criada.