【问题标题】:Hibernate query build休眠查询构建
【发布时间】:2015-04-25 06:26:48
【问题描述】:

目前我正在使用 CreateSQLQuery 查询模型使用 HIbernate 从数据库中读取数据。现在,我想通过使用 HQL 或 Hibernate Criteria 来修改我的查询。我的查询如下所示。

select concat(d.AREA,' ',d.CITY) as location, a.TRANSFERRED_DATE as ActualTransferDate, concat(c.SCAN_CODE,',',c.SERIAL_NO) as ScanserialCode, c.MODEL_NO as ModelNum, c.ASSET_NAME as AssetName from table_transfer a, table_category b, table_asset c, table_location d where a.ASSET_ID = c.ASSET_ID and b.ASSET_CATEGORY_ID = c.ASSET_CATEGORY_ID and a.TRANSFER_TO_LOCATION=d.LOCATION_ID"

我不确定如何将其转换为基于 Hibernate SQL 或 Criterion 的查询。谁能帮帮我?

【问题讨论】:

    标签: java hibernate


    【解决方案1】:

    您可以在您的实体中引入locationscanserialCode的字段并将它们标记为@Formula

    例如

    @Formula("concat(d.AREA,' ',d.CITY)")
    private String location;
    

    查看示例 herehere

    然后在 HQL 或 Hibernate Criteria 中使用 join 和 where

    【讨论】:

    • 我没有上述查询的任何实体。它只返回一个基于 pojo 的映射列表列表,其中所有属性都定义为字符串。
    • 如果没有实体,为什么还需要休眠?为数据创建实体
    猜你喜欢
    • 2018-07-25
    • 2018-08-30
    • 1970-01-01
    • 2012-01-26
    • 2010-09-08
    • 2011-08-09
    相关资源
    最近更新 更多