Так работает SQL; это позволяет вам определять псевдонимы времени выполнения, например. сокращайте операторы SQL, делайте их более удобными для людей или - в этом случае - подходите к вашему конкретному варианту использования, который является результатом для отображения POJO.
А теперь
from
station_names_accepted acceptedna0_
означает: «let alias station_names_accepted
таблица с именем acceptedna0_
»
Отныне во всем запросе вместо использования station_names_accepted
вы можете ссылаться на эту таблицу, используя псевдоним acceptedna0_
.
Обычно вы бы назвали его, например, sna
- но именно так Hibernate создает псевдонимы - он не должен был быть в удобочитаемом формате:)
Позже (или, скорее, раньше)
select
acceptedna0_.pkey as pkey1_0_,
acceptedna0_.name_accepted as name_acc2_0_,
acceptedna0_.station_pkey as station_3_0_
буквально означает: «пусть псевдоним pkey
столбец таблицы accepteddna0
(это псевдоним) и назовите его pkey1_0_
».
Тот же сценарий - теперь вы можете использовать pkey1_0_ в качестве ссылки на столбец. Опять же, он не предназначен для чтения человеком, но он подходит для процесса отображения Hibernate.
Так в общем, если бы вы скопировали и вставили этот странный SQL в консоль PostgreSQL или любой другой клиент и заменили? с требуемыми значениями запрос будет успешным.