Принимает ли JDBI параметры UUID?

При использовании привязки аргументов SQL Object работает ли 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, и преобразовать их в строки перед привязкой?

9
задан Fernando Correia 20 August 2012 в 23:17
поделиться