【问题标题】:JPQL CONCAT Function is Boolean instead of StringJPQL CONCAT 函数是布尔值而不是字符串
【发布时间】:2019-08-17 04:15:30
【问题描述】:

我一直在为这个愚蠢的问题寻找一个具体的答案,但我还没有找到任何真正有帮助的东西。这是问题:

在 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) 查询: ReportQuery(name="MyClassConcat" referenceClass=EntityA jpql="SELECT 新模型.ReturnType(a.id, a.name, CONCAT(a.name, a.id)) FROM EntityA 一“)在 org.eclipse.persistence.internal.jpa.QueryImpl.getDatabaseQueryInternal(QueryImpl.java:344) 在 org.eclipse.persistence.internal.jpa.EntityManagerImpl.createNamedQuery(EntityManagerImpl.java:1135) 在 org.eclipse.persistence.internal.jpa.EntityManagerImpl.createNamedQuery(EntityManagerImpl.java:1155)

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

知道为什么会这样吗?以及如何在我的查询中使用 CONCAT 以便可以将其读取为字符串而不是布尔值?

谢谢!

【问题讨论】:

    标签: java sql jpa eclipselink jpql


    【解决方案1】:

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

    由于错误已修复很久,我认为有可用的补丁。如果没有,则必须退回到更新库或完全更改持久性提供程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-11
      • 2022-07-31
      • 2012-04-30
      • 2019-08-16
      • 1970-01-01
      相关资源
      最近更新 更多