Hibernate: Parse/Translate HQL FROM part to get pairs class alias, class name(Hibernate:从部分解析/转换HQL,以获得类别名、类名对)
问题描述
谁能告诉我,如何解析/评估HQL并获得key是表别名和值的全限定类名的映射。
例如HQL
从foo a内部联接中选择a.id。测试b
我希望有对:
a,Package1.foo
b.Package2.TestClassName
对结果集执行此操作相对容易
参见details here。
推荐答案
这不是一个好方法,但您似乎可以通过一些内部接口获取AST并遍历以下内容:
因此,这似乎是从编译后的查询中检索别名映射,但我在使用此解决方案时会非常小心:它将对象类型转换为Hibernate客户端通常不可见的子类,并基于猜测不同节点的语义来解释AST。这可能不适用于所有HQL语句,并且可能不适用于未来的Hibernate版本,或者具有不同的行为。这篇关于Hibernate:从部分解析/转换HQL,以获得类别名、类名对的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!