hibernate计算subselectQueryFragment时,检测到的索引无效:
formIndex>orderByIndex公司
.
可以使用变通方法
Hibernate-core-5.4.20版本
org.hibernate.engine.spi.SubselectFetch.createSubselectFetchQueryFragment(QueryParameters)
final int fromIndex = getFromIndex( queryString );
final int orderByIndex = queryString.lastIndexOf( "order by" );
final String subselectQueryFragment = orderByIndex > 0
? queryString.substring( fromIndex, orderByIndex ) // -> java.lang.StringIndexOutOfBoundsException
: queryString.substring( fromIndex );
Hibernate生成queryString
select
(...)
(SELECT string_agg(_a._teamname,';') FROM (SELECT t.name as _teamname FROM team t, teammember tm WHERE tm.team=t.id AND tm.user=:id order by t.name) AS _a) as formula2_2_
from
teammember teammember0_
where (... without order by)