Senhores, algo muito estranho está acontecendo.
Temos um sistema rodando em Oracle e agora estamos usando SQL Server 2008, e a seguinte query está com problemas:
update ResourceI18n resi18n
set resi18n.url = concat(REPLACE(substring(resi18n.url,1,16), :oldUrl, :newUrl),substring(resi18n.url,17))
where resi18n.url is not null and resi18n.url like '%/resources/novo/%'
Essa query quando executada pelo Hibernate, ficou assim:
update MMP_PO_I18N
set URL=(REPLACE(substring(URL, 1, 16)+'/resources/novo/'+'/resources/novo232/')+substring(URL, 17))
where PO_TYPE='RESOURCE' and (URL is not null) and (URL like '%/resources/novo/%')
Vejam que na segunda linha, após o SUBSTRING, ele trocou a virgula pelo sinal de soma.
Sempre que executo, recebo a seguinte exception:
Não tenho idéia do que pode ser, nunca vi algo assim no Hibernate. Com Oracle, esse HQL rola 100%
Alguma idéia?