Приведение типов в Hibernate для столбца в базе данных Informix - PullRequest
2 голосов
/ 01 ноября 2010

Я использую Informix для базы данных OR и Spring + Hibernate на сервере моего приложения.Дело в том, что я делаю в строковой переменной запрос, который вставляет данные в таблицу базы данных.В этой строке запроса я использую приведение типов для некоторых столбцов (что-то вроде этого: ..ROW(street,city,country)::addressT.., где addressT - это тип, который я сделал в базе данных).

Проблема заключается в методе Hibernates createSQLQuery(String query).Когда я передаю ему строку запроса, он автоматически ищет в этой строке именованные параметры (: namedParameter - так, знак «двоеточие» и имя параметра) и пытается заменить его чем-то.В результате получается запрос, подобный следующему: ...ROW(street,city,country)?...

Есть ли способ отключить автоматическую замену именованных параметров гибернации или есть какой-либо другой способ перенаправить собственный запрос в мою базу данных Informix?

1 Ответ

0 голосов
/ 02 ноября 2010

Возможно, вы сможете использовать нотацию CAST(<expression> AS <type>).

Остерегайтесь непреклонного утверждения другой системы о том, что db@server:owner.table или DATETIME(12:13:14) YEAR TO SECOND содержат заполнители, а не допустимые синтаксические конструкции Informix.

...