Одна entity для двух таблиц в hibernate

Имеется две таблицы с одинаковым именем table, которые находятся в разных базах(для удобства буду называть их Table1 и Table2) Table1 имеет следующие колонки - COLUMN_A, COLUMN_B ,COLUMN_C, COLUMN_D (типы не важны). Table2 - это копия table1, но в ней усеченный набор колонок (только COLUMN_A, COLUMN_B).

Подключаемся к базе из java + hibernate. В java есть entity (опускаю все лишнее) -

@Table(name = "TABLE")
public class Table {

   @Column(name = "COLUMN_A")
   private String columnA;

   @Column(name = "COLUMN_B")
   private String columnB;

   @Column(name = "COLUMN_C")
   private String columnC;

   @Column(name = "COLUMN_D")
   private String columnD;  

Если мы выполним селект к table1, где все эти поля есть, то все смаппиться нормально. Если выполняем селект к table2 используя эту сущность, то получим ошибку.

ORA-00904 "TABLE"."COLUMN_C": недопустимый идентификатор

Это логично, так как хибер выполнит селект в котором перечислит все поля из entity, которых по факту нет в базе SELECT COLUMN_A ,COLUMN_B, COLUMN_C, COLUMN_D FROM TABLE;

Это можно решить созданием отдельной сущности для table2, но кажется, что можно решить это иначе.

Решение, которое бы также подошло заключается в выполнении селекта типа SELECT * FROM TABLE, но в HQL нет оператора * Подскажите, можно ли как то решить эту проблему не прибегая к созданию отдельной сущности?


Ответы (0 шт):