繁体   English   中英

JPQL CONCAT函数是布尔值而不是字符串

[英]JPQL CONCAT Function is Boolean instead of String

我一直在为这个愚蠢的问题寻找一个具体的答案,但我找不到任何实际有用的东西。 这是问题:

在WebLogic Server版本12.2.1.2和12.2.1.3上。 同时创建与JPA应用程序类似的查询

SELECT NEW model.ReturnType(a.id, a.name, CONCAT(a.name, a.id)) FROM EntityA a

抛出以下异常:

异常描述:使用构造函数表达式执行ReportQuery时抛出异常:java.lang.NoSuchMethodException:model.ReturnType。(java.lang.String,java.lang.String,java.lang.Boolean)内部异常:java。 lang.NoSuchMethodException:model.ReturnType。(java.lang.String,java.lang.String,java.lang.Boolean)Query:ReportQuery(name =“MyClassConcat”referenceClass = EntityA jpql =“SELECT NEW model.ReturnType(a。 id,a.name,CONCAT(a.name,a.id))FROM EntityA a)在org.eclipse.persistence的org.eclipse.persistence.internal.jpa.QueryImpl.getDatabaseQueryInternal(QueryImpl.java:344)。 org.eclipse.persistence.internal.jpa.EntityManagerImpl.createNamedQuery(EntityManagerImpl.java:1155)中的internal.jpa.EntityManagerImpl.createNamedQuery(EntityManagerImpl.java:1135)

CONCAT的返回类型应该是String,而不是Boolean。

知道为什么会这样吗? 以及如何在我的查询中使用CONCAT,以便它可以作为String而不是布尔值读取?

谢谢!

这是因为512386中报告的(已修复)错误。 可以从差异中找到详细的原因。

因为bug已经修复了很久,我认为有补丁可用。 如果没有,那么必须回退更新库或完全更改持久性提供程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM