O JDBI aceita parâmetros UUID?

Ao usar a ligação de argumentos do objeto SQL,JDBI trabalhar fora da caixa com parâmetros UUID?

Eu tenho um método como este:

@SqlQuery("EXECUTE [MyProcedure] :myField")
MyDto myMethod(@Bind("myField") UUID myField);

que está vinculado a um procedimento armazenado do SQL Server que recebe um parâmetro como este:

@myField uniqueidentifier

Quando executada, esta exceção é lançada:

! 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)

Se eu alterar o tipo de parâmetro no JDBI para String e chamá-lo usando o método toString () do objeto UUID, ele funcionará:

@SqlQuery("EXECUTE [MyProcedure] :myField")
MyDto trash(@Bind("myField") String myField);

Existe uma maneira de escrever meus métodos DAO aceitando parâmetros UUID e tê-los convertidos em seqüências de caracteres antes da vinculação?

questionAnswers(1)

yourAnswerToTheQuestion