[Java lista] Hibernate - öröklött osztályok

Istvan Benedek istvan.benedek at gmail.com
2009. Ápr. 23., Cs, 12:07:59 CEST


nem igazan ertem a problemat de talan Interfacek hasznalata megoldhatja...

Istvan


2009/4/22 Szécsényi Gergely <javalista at gmail.com>:
> Sziasztok,
>
> a következő a problémám:
>
> Van egy alkalmazás, ami több modulból fog állni. Mindkét modulban
> lenne egy Company tábla, de minden modulban csak a maga attributumait
> lehetne elérni.
>
>  Ezért arra gondoltam, hogy ezt úgy oldom meg, hogy lesz egy abstract
> BaseCompany, azokkal az adatokkal, funkciókkal, ami mindkét táblában /
> osztályban szerepelne, és örökléssel egy Mod1Company, meg egy
> Mod2Company.
>
> A célom az az, hogy ezután minden modulban hozzá lehessen rendelni a
> speciális adatokat.
>
> Próbálkoztam a Hibernate - Mapping örökléses típusaival, de mindegyik
> úgy mu"ködne, hogy vagy az egyik subclass-ban található meg a Company,
> vagy a másikban. De nekem arra lenne szükségem, hogy mindkét
> subclassban elérhessem ugyanazt a Company-t.
>
> Ezt a mappinget bele is építettem az alkalmazásba:
>
> A table per subclass mapping would look like:
>
> <class name="Payment" table="PAYMENT">
>    <id name="id" type="long" column="PAYMENT_ID">
>        <generator class="native"/>
>    </id>
>    <property name="amount" column="AMOUNT"/>
>    ...
>    <joined-subclass name="CreditCardPayment" table="CREDIT_PAYMENT">
>        <key column="PAYMENT_ID"/>
>        <property name="creditCardType" column="CCTYPE"/>
>        ...
>    </joined-subclass>
>    <joined-subclass name="CashPayment" table="CASH_PAYMENT">
>        <key column="PAYMENT_ID"/>
>        ...
>    </joined-subclass>
>    <joined-subclass name="ChequePayment" table="CHEQUE_PAYMENT">
>        <key column="PAYMENT_ID"/>
>        ...
>    </joined-subclass>
> </class>
> Four tables are required. The three subclass tables have primary key
> associations to the superclass table (so the relational model is
> actually a one-to-one association).
>
> Ez már majdnem jó, de itt mindig létre kell hoznom pl a CHEQUE_PAYMENT
> táblába automatikusan a kulcsrekordot, ha létrehozok a CREDIT_PAYMENT
> táblában egy rekordot, hogy a ChequePayment -bo"l is le tudjam
> kérdezni.
>
> Szóval némi hackeléssel müködik, de azt szeretném kérdezni, hogy nincs
> erre más módszer?
>
> A fenti példán is látszik, hogy arra épül, hogy egy fizetés az VAGY
> csekk, VAGY készpénz. Nem lehetne az. hogy lekezleje az ÉS kapcsolatot
> ?
>
> --
> Gergő
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>



-- 
Best regards,
István Benedek
Sr. Software Engineer


B2 International Ltd.
Budapest office, Hungary (GMT+1)

Madach Square 3, Floor 3
1075 Budapest
Hungary

Cell phone          : +36 (70) 375-4286

Office phone
E-mail               : ibenedek at b2international.com
Homepage          : http://www.b2international.com


További információk a(z) Javalist levelezőlistáról