查询编译器不会检查 Java Persistence 语言的规范一章中定义的所有规则。特别是,它不检查以下各项:
函数参数的类型兼容性。
运算符、逻辑运算符和比较运算符的操作数的类型兼容性。
SELECT 子句对 ORDER BY 查询的要求。
无效的查询可能会进行编译,但可能会导致在运行时出现 SQLException。或者也可能出现以下情况:基础数据库比较宽松且支持 SQL,但在其他数据库上执行相同查询时会失败,并出现 SQLException。
手动验证上述条件。