JDBI принимает параметры UUID?
При использовании привязки аргумента объекта SQL, делаетJDBI работать "из коробки" с параметрами UUID?
У меня есть такой метод:
@SqlQuery("EXECUTE [MyProcedure] :myField")
MyDto myMethod(@Bind("myField") UUID myField);
которая связана с хранимой процедурой SQL Server, которая получает такой параметр:
@myField uniqueidentifier
При выполнении это исключение выдается:
! com.microsoft.sqlserver.jdbc.SQLServerException: The conversion from UNKNOWN to UNKNOWN is unsupported.
! at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
! at com.microsoft.sqlserver.jdbc.DataTypes.throwConversionError(DataTypes.java:1117)
! at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setObject(SQLServerPreparedStatement.java:991)
Если я изменяю тип параметра в JDBI на String и вызываю его с помощью метода toString () из объекта UUID, он работает:
@SqlQuery("EXECUTE [MyProcedure] :myField")
MyDto trash(@Bind("myField") String myField);
Есть ли способ написать мои методы DAO, принимающие параметры UUID, и преобразовать их в строки перед привязкой?