是否有任何选项可以使用过程执行 hql 查询?

is there any option to execute hql query with procedure?

我在 SQL 中有查询,例如

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

是否可以选择 运行 休眠中的相同查询?还有其他方法可以在休眠状态下使用函数执行 select 查询吗?

是的, 使用本机查询。

这里是 link 到 Chapter 16. Native SQL

欲了解更多信息, 尝试 google 搜索 "hibernate stored procedures mysql", 大约有一百万次点击。

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

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();

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