Lew wrote:
> Daniel Pitts wrote:
>> In particular for JPA and Hibernate using annotations, you have a
>> @OneToMany(targetEntity=Monkey.class) Set<Monkey> monkeys; in the
>> Barrel, and a @ManyToOne Barrel barrel; in the Monkey class.
>>
>> What's important to remember in Relational theory is that ALL
>> relations include two endpoints, whether you model that explicitly or
>> not.
>
> I have trouble remembering who "owns" the relation, so that the other
> one can say "mappedBy" in its annotation. Monkey owns the Monkey-Barrel
> connection, right? Something like
>
> @OneToMany( targetEntity=Monkey.class, mappedBy="barrel" )
> Set <Monkey> monkeys;
> ?
>
You *can* do that (and often it makes sense). I believe there is also a
way to have a third table that is just for the relation, something like
Monkey_Barrel (id, Monkey_Id, Barrel_id). Which might make more sense
if semantically neither monkey nor barrel should "own" the reference.
Ofcourse, this does have performance implications :-p
--
Daniel Pitts' Tech Blog: <http://virtualinfinity.net/wordpress/>
|