HQL を解析/評価し、キーがテーブル エイリアスで値が完全修飾クラス名であるマップを取得する方法を教えてください。
たとえば、HQL の場合
SELECT a.id from Foo a INNER JOIN a.test b
ペアが欲しい:
a、package1.Foo
b. package2.TestClassName
結果セットに対して行うのは比較的簡単です
HQLQueryPlan hqlPlan = ((SessionFactoryImpl)sf).getQueryPlanCache().getHQLQueryPlan( getQueryString(), false, ((SessionImpl)session).getEnabledFilters() ); String[] aliases = hqlPlan.getReturnMetadata().getReturnAliases(); Type[] types = hqlPlan.getReturnMetadata().getReturnTypes();
詳細はこちらをご覧ください。