Hibernate выбор из mapedsuperclass одинаковых полей

407
05 февраля 2017, 11:58

Привет всем! Есть:

1) Entitybase
    --> Entity1
    --> Entirt2
2) Entity3

Entity1,2 наследуются (mapedsuperclass) от entitybase, Entity3 имеет ссылку на Entitybase.

Строю запрос от Entity3 + alias на entitybase. Hibernate автоматически делает left join entity1 и 2.

Примрно так:

Select .... From e3 this
    Inner join eb aliasbase
    Left join e1 alias1
    Left join e2 alias2

Указал в projectionlist имя поля из entity1/entity2 которого нет в EntityBase и оно пришло!

Select ...., alias1.name From e3 this
     Inner join eb aliasbase
     Left join e1 alias1
     Left join e2 alias2

При этом alias я не знал и не указал. hibernate вероятно нашел поле по имени. Алиас таблицы в SQL взят ,вероятно ,по первому вхождению поля.

Вопрос : если в e1 и e2 есть одинаково названные поля(пусть будут "name") Как их правильно считать? Или как узнать/задать алиасы автоматически добавленных entity1 и entity2?

К примеру:

 Select ...., alias1.name, aluas2.name From e3 this
      Inner join eb aliasbase
      Left join e1 alias1
      Left join e2 alias2

Или можно даже так:

  Select ...., my_alias3.name, my_alias4.name From e3 this
      Inner join eb aliasbase
      Left join e1 alias1
      Left join e2 alias2
      Left join e1 my_alias3
      Left join e2 my_alias4

Спасибо

READ ALSO
Ошибка java: Cannot find symbol

Ошибка java: Cannot find symbol

Читаю книгу1 "Технологии java2",выполняю задания по текстовым компонентам swing и отображением HTMLВообщем при компиляции программы в intellij idea

572
Параллельное выполнение первого потока вместе с другими

Параллельное выполнение первого потока вместе с другими

Нужно вернуть json в котором находятся ссылки 5000+ файловCоздаю модель

401
Как вставить пробел в строке между цифрами и буквами?

Как вставить пробел в строке между цифрами и буквами?

Есть строка типа "дом15/2"Каким образом можно найти границу между буквами и цифрами и поставить туда пробел

528