HQL не поддерживает функцию ЗАМЕНА.
Таким образом, вы должны создать свой собственный диалект и зарегистрировать в нем функцию REPLACE Dialect :: registerFunction method
Например, я регистрирую REPLCAE на postgres диалекте, как в следующем коде
import org.hibernate.dialect.PostgreSQL9Dialect;
import org.hibernate.dialect.function.StandardSQLFunction;
public class MyPostgreSQL9Dialect extends PostgreSQL9Dialect {
public MyPostgreSQL9Dialect() {
super();
registerFunction("replace", new StandardSQLFunction("replace"));
}
}
затем обратитесь к этому пользовательскому диалекту в вашем файле persistence.xml или hibernate.cfg.xml