【问题标题】:is there any option to execute hql query with procedure?是否有任何选项可以使用过程执行 hql 查询?
【发布时间】:2017-10-03 13:59:44
【问题描述】:

我有类似 SQL 的查询

 select part_no, base_price, fn_get_ecom_item_new_price(Company_id, Part_No, Unit, Price, 'N') newPrice  from ecom_prodmast

如果有一个选项可以在休眠中运行相同的查询?还有其他方法可以在hibernate中使用函数执行选择查询吗?

【问题讨论】:

    标签: java sql hibernate hql


    【解决方案1】:

    您可以使用 Hibernate 中的 session.get() 方法和生成的 Java 类,然后看起来像这样:

    SessionFactory factory=cfg.buildSessionFactory();  
    Session session=factory.openSession();  
    Transaction t=session.beginTransaction();  
    Economy e= (Economy) session.get(Economy.class, part_no ....);
    t.commit();
    session.close();  
    return e.getData();
    

    主经济舱应配置为保存您的 ecom_prodmast 表的 part_no、base_price、fn_get_ecom_item_new_price 等数据。这意味着首先配置 Hibernate 并生成类,然后使用它们。您可以在 Internet 上找到有关如何操作的示例。 如果您使用的是 Eclipse,那就更简单了,因为它存在一个插件可以为您完成这些工作。 如果你想访问这个过程,它也应该存在于生成的文件中,你可以将它作为一个简单的函数来调用。

    【讨论】:

      【解决方案2】:

      是的, 使用原生查询。

      这是Chapter 16. Native SQL的链接。

      如需更多信息, 尝试谷歌搜索“休眠存储过程mysql”, 大约有一百万次点击。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-19
        • 1970-01-01
        • 1970-01-01
        • 2012-08-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多