前几天我发布了一个question关于使用Criteria API查询集合的问题,并且在我看到我正在尝试使用Criteria后无法实现的问题时,有一个错误。 nhibernate和hibernate中的情况
我使用DetachedCriteria将所有标准放在一起,列表真的很长。链的最后一个循环是错误的标准所以我需要将所有的detachedcriteria更改为HQL。
所以我的问题是有没有任何工具或方法可以将Criteria转换为HQL。
或
有没有办法让Criteria和Hql一起工作?
答案 0 :(得分:3)
从hibernate论坛重新发布...不确定它是否与nhibernate或最新相关
来自: max Hibernate Team
发布时间:2006年12月24日星期日上午7:12
这是一个非常顽固的民间传说,标准转化为HQL。标准直接转向SQL,但没有直接的公共API来以编程方式获取它。
...
翻译两次效率不高;)
http://forum.hibernate.org/viewtopic.php?t=968990&view=next&sid=50454aa6cec8d482198117fbd398ca70
答案 1 :(得分:3)
我已向 Ayende Rahien 发送了一封关于此问题的电子邮件,并感谢他的回复。他说那是
答案是没有这样的工具,但转换通常很容易。
答案 2 :(得分:0)
我已经修改了Hibernate Criteria API以通过尝试保持接口大致相似来生成JPQL查询。我的项目名称是Criteria2JPQL at:
https://sourceforge.net/projects/criteria2jpql/
由于此转换是一个简单的内存操作,可生成标准的JPQL查询,因此没有相当大的性能问题。另一方面,这个项目的想法起源于Hibernate Critera的糟糕表现本机sql查询,包括许多不必要的连接。我们在我公司的项目中经历了使用Criteria2JPQL,并观察到那些不必要的连接消失了。
答案 3 :(得分:-1)
您使用的是什么版本的nHibernate?我认为使用最新版本可能会解决您的问题,因为2.0 GA有很多重大变化。