我正在使用 PostgreSQL 开发小型 Java 应用程序来学校项目。
使用 JDBC 驱动程序,我可以使用~
运算符选择一个字段来充当,CONTAINING
而不是使用LIKE
.
让我给你举个例子:
SELECT * FROM USERS WHERE NAME ~ ? ORDER BY NAME
自从我们开始使用 JPA 框架来简化开发以来,我注意到使用 JPA 的相同示例在我使用~
运算符时会引发错误...
抛出的错误:
An exception occurred while creating a query in EntityManager:
Exception Description: Syntax error parsing [select u from Users u where u.name ~ ?1 order by u.name].
[30, 41] The expression is not a valid conditional expression.
我可以在谷歌上找到的所有代码示例都是使用LIKE
而不是CONTAINING
.
我的问题是,JPA 在使用 PostgreSQL 时是否支持包含运算符?
一些信息:
JDK 15
Netbeans 12.3
JPA 2.1
PostgreSQL 13.2