Java: отображение выбора SQL из нескольких таблиц в несколько сущностей

Мне нужно выполнить следующий запрос:

select a.*, b.* from tableA a, tableB b;

имея tableA и tableB, некоторые поля с тем же именем (например, id, created_at, created_by).

И в моем java-коде я уже сопоставил сущности tableA и tableB (в двух разных классах).

Поэтому я хотел бы иметь возможность каким-то образом сопоставить набор результатов непосредственно с обоими моими объектами, но я не могу понять, как это сделать. Кроме того, даже если бы я мог это сделать, oracle не возвращает 2 разных поля с одинаковым именем, а вместо этого переименовывает их с номером в конце.

Есть ли какой-нибудь чистый и модный способ делать то, что мне нужно?

Как вы сопоставили эти объекты с таблицей? Вы используете ORM?

Amit Bera 15.06.2018 08:14

У вас нет связи между наборами результатов, поэтому сделайте это в двух SELECT.

CannedMoose 15.06.2018 08:14

Вы действительно пытаетесь выполнить перекрестное соединение между таблицами A и B? Если это так, то приведенный выше комментарий должен быть одним из способов сделать это. Если нет, то расскажите нам, какими могут быть отношения присоединения.

Tim Biegeleisen 15.06.2018 08:15

Мы используем спящий режим в нашем приложении, но на этот раз нам нужно выполнить сложный запрос, поэтому нам нужно сделать его как собственный. Кроме того, у нас нет никаких отношений в наших сущностях (но у нас есть отношения в таблицах) между собой, и я не могу добавить эту взаимосвязь, потому что наши сущности находятся в ядре нашего приложения, а в запросе есть вещи, которые не принадлежат к ядру.

gualizoe 15.06.2018 11:29
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
4
66
0

Другие вопросы по теме