Я создал базовый набор классов с методами ведения учета.
Мой класс Ledger позволяет вам вести базовый регистр, который позволяет вам получать текущий баланс, и выполнять транзакции в регистре, который добавляет новый LedgeEntry.
У меня хорошо работает эта общая бухгалтерская система.
Insider Ledger - это моя коллекция LedgerEntry, которая представляет собой записи списка.
Теперь я хочу использовать это для создания объектов Billing / BillingEntry (которые соответствуют таблицам BILLING и BILLING_ENTRIES) и объектам CustomerCredits / CustomerCreditsEntry (сопоставленным с CUST_CREDITS; CUST_CREDITS_ENTRY).
Я хотел бы создать эти классы, начиная с Ledger и LedgerEntry. Класс родительской сущности (Ledger, Billing, CustomerCredits) можно легко сопоставить с другой таблицей с помощью аннотации @Table.
Но я не уверен, как справиться с заменой сущностей LedgerEntry их соответствующими BillingEntry, CustomerCreditsEntry.
Редактировать 2010-09-24:
Я только что сдался, и теперь все объекты, обслуживаемые Леджером, переходят к дочерним объектам LedgerEntry (на данный момент).
Проблема здесь, я думаю, в том, что я не могу создать методы в родительском классе, которые ссылаются на объекты, которые существуют только в унаследованном классе?