Можно ли получить доступ к отдельным столбцам таблицы 2 с помощью HQL с такой конфигурацией?
<hibernate-mapping>
<class table = "table1">
<set name = "table2" table = "table2" lazy = "true" cascade = "all">
<key column = "result_id"/>
<many-to-many column = "group_id"/>
</set>
</class>
</hibernate-mapping>




Это просто свойства свойства table2 table1.
select t1.table2.property1, t1.table2.property2, ... from table1 as t1
Возможно, вам придется присоединиться, вот так
select t2.property1, t2.property2, ...
from table1 as t1
inner join t1.table2 as t2
Вот соответствующая часть спящий режим.
Вы можете запрашивать их, но не можете включить их в предложение where. Например.,
select t1.table2.x from table1 as t1
будет работать, но
select t1 from table1 as t1 where t1.table2.x = foo
не стал бы.
Допустим, в таблице 2 есть столбец «color varchar(128)», и этот столбец правильно сопоставлен с Hibernate.
У вас должно получиться что-то вроде этого:
from table1 where table2.color = 'red'
Это вернет все строки table1, которые связаны со строкой table2, столбец color которой является «красным». Обратите внимание, что в отображении Hibernate ваш set имеет то же имя, что и таблица, на которую он ссылается. В приведенном выше запросе используется имя набор, нет - имя таблицы.