J'ai une requête HQL:Parse HQL Structure AST et convertir AST Retour à HQL
query = select item.itemNumber from items item where item.stock>0 and item.price<100.00
j'aime analyser cette requête et le convertir en une structure arborescente:
AST queryTree = parse(query);
que i comme à itérer les nœuds, modifier certaines valeurs, et convertir l'arbre en une chaîne represenation:
Iterator<ASTNode> it = queryTree.nodeIterator();
while(it.hasNext())
{
ASTNode node = it.next();
System.out.println(node.text() + "->" + node.value());
}
query = queryTree.toString();
ce serait bien si t La méthode parse jetterait des exceptions au cas où le grammaire HQL serait violé, mais ce n'est pas nécessaire. Quelqu'un at-il une idée de comment cela peut être accompli? Existe-t-il des méthodes d'API offertes par hibernate pour accomplir cette tâche?
Merci,