我有一个HQL查询:
query = select item.itemNumber from items item where item.stock>0 and item.price<100.00
我想解析此查询并将其转换为树结构:
AST queryTree = parse(query);
比我喜欢迭代节点,更改一些值,并将树转换回字符串表示:
Iterator<ASTNode> it = queryTree.nodeIterator();
while(it.hasNext())
{
ASTNode node = it.next();
System.out.println( node.text() + "->" + node.value() );
}
query = queryTree.toString();
如果在违反HQL语法的情况下解析方法会抛出异常会很好,但这不是必需的。 有谁知道如何实现这一目标?是否有hibernate提供的API方法来完成该任务?
谢谢,