当前位置: 首页 > 知识库问答 >
问题:

使用连接将sql更改为hql

澹台逸明
2023-03-14

我的hql查询似乎有什么问题?

String queryString = "SELECT A.INITIAL, A.NUMBER, A.OWNR_SCAC , A.INITIAL||A.NUMBER AS CAR," + 
            "A.LESSEE_SCAC, A.TRUK_CNT, A.EQP_TYP_CD, A.AXL_CNT, B.STABILITY_DEV_EQP," +
            "A.C_CNT, A.G_WGT, B.TRUK_AXL_CNT, A.EIN FROM DS.E_UT AS A" +
            "LEFT JOIN DS.E_PRIMARY AS B" +
            "WHERE A.INITIAL||A.NUMBER IN (:carList) AND A.INITIAL IN {:initList) AND A.NUMBER IN (:numberList)" + 
            "AND B.TRUK_AXL_CNT > 0";

错误:

组织。冬眠hql。内部的ast。QuerySyntaxException:意外标记:第1行第263列附近的标记

我假设它是在谈论From DS之后的A。E_UTAS A

共有3个答案

钦景胜
2023-03-14

我不完全确定您的模式或这是否是您正在寻找的,但您可以将连接的表映射在一起。这可以使事情变得更容易,并且您不需要显式加入查询。

这里有一个小例子

该示例中的示例查询可能类似于:

SELECT p 
    FROM Person 
WHERE p.name like :name 
AND p.address.street like :street
陈野
2023-03-14

我想你应该在每一行上加一些空格。

"A.C_CNT, A.G_WGT, B.TRUK_AXL_CNT, A.EIN FROM DS.E_UT AS A" +
"LEFT JOIN DS.E_PRIMARY AS B"

将成为:

A.C_CNT, A.G_WGT, B.TRUK_AXL_CNT, A.EIN FROM DS.E_UT AS ALEFT JOIN DS.E_PRIMARY AS B

注意'ALEFT'

池宸
2023-03-14

在HQL中,不提供表名和列名。相反,您为映射到表和列的类和成员变量提供Java类名和成员变量名(或getter/setter)。

 类似资料:
  • 嗨,我是ReactorNetty的新手。 我正在尝试使用连接池通过TCP协议传输。因此,我在应用程序启动时构建了ConnectionProvider,并将其作为参数提供给TcpClient。 发送20次后,应用程序抛出 如果我删除。pendingAcquireMaxCount(200)和。pendingAcquireTimeout(持续时间秒(20))在构建连接提供程序时,它抛出 我想这是因为连接

  • 问题内容: 表:客户 我想将列从更改为`VARCHAR2(1000) 我尝试也 还 如果数据类型不是Clob,但通常会正常工作,但由于我使用的是oracle toad / apex,所以我得到了。 问题答案: 您可以尝试以下方法: 添加一个新列作为varchar2 将UPDATE CLOB名称更新为varchar2列; 经过 测试数据 : DROP CLOB列 将varchar2列重命名为CLOB

  • 我正在尝试连接docker容器中运行的pyodbc python脚本,以登录MSSQL数据库。我尝试了各种docker文件,但无法建立连接(构建docker或python尝试连接时失败),是否有人使用pyodbc有工作的dockerfile: Dockerfile文件: 要求.TXT app. Py 构建容器docker build-t sqltest。 输出:

  • 问题内容: 首先,我要感谢肯特·米利根(Kent Milligan)及其他的文章,网址为http://www.mcpressonline.com/sql/techtip-combining-multiple- row-values-into-a-single-row-with-sql-in-db2- for-i.html 使我尽可能地解决了这个问题。但是现在我需要扩大他在这里所做的事情。 为避免您

  • 我正在尝试使用Xampp将我的SQL server与PHP连接起来。我已经在ext文件夹中上载了dll文件,但无法连接它。我的PHP版本是7.2。6.上传的dll文件为-php_pdo_sqlsrv_72_ts.dll、php_sqlsrv_72_ts.dll。我写了这段代码来连接我的SQL数据库和PHP- 当我尝试这个时,我得到了这个错误- 致命错误:未捕获错误:调用C:\xampp\htdoc

  • 问题内容: 我正在尝试使用JDBC连接到SQL Server 2008。我的SQL Server 2008带有Windows身份验证。 我的代码是 我最终得到ClassNotFoundException。 堆栈跟踪为 问题答案: ClassNotFoundException可能意味着您的类路径中没有可用的SQL * Server驱动程序