java - Entitymanager java 查询中 '||' (concat) 的等价物是什么?

标签 java sql oracle entitymanager concat

我想将 oracle 存储过程重写为 java 代码,以选择查询字符串中具有串联值的数据以通过以下方式进行比较:

 Query qString = 
                        "SELECT Obj " +
                        "FROM MyTable Obj2 WHERE ( Obj2.value1 || Obj2.value2 ) in " +
                        "(SELECT Obj2.value1 || MAX(Obj2.value2) FROM MyTable Obj2 WHERE Obj2.value2 >= :param GROUP BY Obj2.value1) " +
                        "ORDER BY Obj.value2, Obj.value1";

                        query = entityManager.createQuery(qString);
                        query.setParameter("param ", param );

当我在 weblogic 服务器上将查询作为 web 服务运行时,我遇到了“|”错误特点。 我可以用什么代替 ||运算符得到相同的结果?

最佳答案

Java 持久性查询语言提供了 CONCAT () 函数,所以你应该可以写 Obj2.value1 || Obj2.value2 作为 CONCAT(Obj2.value1, Obj2.value2)

关于java - Entitymanager java 查询中 '||' (concat) 的等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19703000/

相关文章:

java - Html Form无需提交自动调用Servlet

MySQL:使用连接多次搜索同一个表

sql - 在 SQL GROUP BY 中聚合集合中的不同值

sql - 通过 SQL 命令行创建表,标识符无效

oracle - 在 Oracle 中使用游标对前端应用程序有好处吗?

java - jackson 的 JsonIgnore

java - JFace - 在给定的行索引处选择可编辑单元格?

java - Mockito doReturn : ambiguous reference to overloaded definition

mysql - 更改字符集后无法添加外键约束

sql - 前 N 个结果分组 Oracle SQL