Я в настоящее время застрял с тем, что кажется очень простой проблемой, но я просто не могу найти способ обойти:
У меня есть 2 идентичные таблицы:
- tbl_creditcard_approved_txns
- tbl_creditcard_declined_txns
Поля в обоих случаях идентичны, и у меня есть один класс - Transaction
, который используется для представления всех соответствующих полей в таблицах.
Я пытаюсь отобразить два разных объекта (по одному для каждой таблицы) в вышеприведенный класс. В старом мире я бы создал два hbm.xml
файла, по одному для каждой таблицы, и сопоставил бы их оба с Transaction
. Затем я использовал бы имя сущности во время сохранения, чтобы гарантировать сохранение объекта в правильной таблице, в зависимости от обстоятельств.
В настоящее время я пытаюсь использовать аннотации для достижения того же самого, но пока мне не повезло в сопоставлении двух сущностей с единственным классом. Это вообще возможно?
В настоящее время я использую другой подход: я извлек все общие поля (идентичные имена столбцов) в @MappedSuperClass
и создал два отдельных класса (по одному для каждой сущности), которые расширяются от суперкласса ( эти классы имеют одни и те же поля с разными именами столбцов, где это применимо).