gpt4 book ai didi

java - 将 HQL 解析为 AST 结构并将 AST 转换回 HQL

转载 作者:搜寻专家 更新时间:2023-11-01 00:58:33 27 4
gpt4 key购买 nike

我有一个 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();

如果 parse 方法在违反 HQL 语法的情况下抛出异常就好了,但这不是必需的。有谁知道如何做到这一点? hibernate 是否提供任何 API 方法来完成该任务?

谢谢,

最佳答案

您可以在这里查看正在开发的新实验性解析器:https://github.com/hibernate/hibernate-hql-parser

关于java - 将 HQL 解析为 AST 结构并将 AST 转换回 HQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2691815/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com