java如何验证HQL在语法上是否正确(不执行它)?
是否有一种简单的方法(通过Java代码)来验证HQL的语法是否正确
一种方法当然是执行它并捕获异常。但我想避免引发质疑
在我的例子中,HQL是根据用户的选择动态生成的,有时用户甚至可以手动输入。因此,我想验证HQL的格式是否正确
你可以在下面搜索框中键入要查询的问题!
是否有一种简单的方法(通过Java代码)来验证HQL的语法是否正确
一种方法当然是执行它并捕获异常。但我想避免引发质疑
在我的例子中,HQL是根据用户的选择动态生成的,有时用户甚至可以手动输入。因此,我想验证HQL的格式是否正确
# 1 楼答案
在我的开发中,有很多
Entity
、OR mapping
和Name queries
。 他们最简单的方法是我用Transaction
检查它们是否正确我在
JPA
中使用如下内容。我相信也有办法Hibernate
和HQL
Console
将显示缺少的状态/错误。如果您的开发过程不正确# 2 楼答案
提出这样的问题
快速方式,但需要添加监听器,且不精确
更精确的方法
# 3 楼答案
如果您只想确保hql的格式正确,那么我建议您将语句包装在事务中,然后尝试执行该语句。当然,如果HQL无效,它将抛出一个错误,捕获该异常,然后执行回滚以防止对数据库进行任何更改