Function Hibernate HQL无法识别oracle替换功能
我有一节课Function Hibernate HQL无法识别oracle替换功能,function,replace,hql,Function,Replace,Hql,我有一节课 class A { String aField; String bField; } class B { A classAField } 我使用限制来构造HQL Restrictions.like(propertyName, obj); 我使用oracle sql函数封闭propertyName以删除所有空格,因此propertyName是
class A {
String aField;
String bField;
}
class B {
A classAField
}
我使用限制来构造HQL
Restrictions.like(propertyName, obj);
我使用oracle sql函数封闭propertyName以删除所有空格,因此propertyName是
replace(classAField.aField,' ')
我得到了下面的错误
could not resolve property: replace(classAField of: B; nested exception is org.hibernate.QueryException: could not resolve property: replace(classAField of: B
Hibernate无法识别pl/sql函数。
我使用oracle 10g diaglect
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
is there a work around here?
org.hibernate.dialent.oracle10galent
这附近有工作吗?
非常感谢,您可能想要 让它在你的特定环境中发挥作用可能需要一些工作,但是使用它你通常可以解决像这样的困难
将其用于特定实体的特定字段并不强制您在任何地方都使用它。它可以与其他限制混合使用。好的,除了使用sqlRestriction,Criteria查询不识别函数。谢谢。如何使Hibernate使用替换函数而不是使用sqlRestriction您可以在sqlRestriction的参数中使用它。问题是我不能对所有实体使用sqlRestriction。我需要替换实体的特定一个属性。所以我需要知道映射的列名和表别名。