Som ny til ejb 2.0 er jeg stødt ind i et par designproblemer
ang. mapping mellem entity beans og en relationel
database.
1. problem
Applikationen implementerer dele af workflowet i et
bibliotek.
Helt forenklet har jeg to entity-beans: BØGER og LÅNERE.
Så langt så godt.
Så har jeg en mange-til-mange relation mellem disse to:
et LÅN.
Med udgangspunkt i DB'en tænker jeg nu: okay, jeg gør
LÅN til en selvstændig entity-beans (og en selvstændig
DB-tabel), med en en-til-mange relation til såvel
BØGER som LÅNERE.
Det er der så vidt jeg kan se ingen problemer i, og jeg
kan endda få tilføjet en række nødvendige yderligere
attributter til LÅNET, fx. datoen det sker.
"Problemet" er nu, at jeg har en mistanke om, at jeg
har overset nogle muligheder der er i ejb 2.0 for at
løse dette problem. Er der det?
Altså, kan denne mapping ske uden at lave den 3. bean -
LÅNET. Ved udelukkende ved at definere en
mange-til-mange relation mellem BØGER og LÅNERE.
Det ville jo være elegant, men jeg kan ikke se hvordan
det kan lade sig gøre, når jeg har brug for de ekstra
attributter til lånet - fx. datoen.
Har jeg overset noget?
2. problem
En BESTILLING (kan foretages hvis bogen er udlånt) er
en anden mange-til-mange relation mellem BOG og LÅNER.
Spørgsmål: kan ejb 2.0 finde ud af at håndtere nedarving?
LÅN og en BESTILLING vil (klassemæssigt) have mange
træk tilfælles -> superklasse?
Kan man det? Og hvis man kan, er det så en god ide?
(jeg kunne forestille mig finder-methods mm. hurtigt
kunne blive ret så komplekse i forhold til et arve-
hierarki).
Mvh. Steen
|