Czy JDBI akceptuje parametry UUID?
W przypadku korzystania z powiązania argumentu obiektu SQL nieJDBI działa natychmiast po ustawieniu parametrów UUID?
Mam taką metodę:
@SqlQuery("EXECUTE [MyProcedure] :myField")
MyDto myMethod(@Bind("myField") UUID myField);
która jest związana z procedurą zapisaną w bazie SQL Server, która odbiera taki parametr:
@myField uniqueidentifier
Po wykonaniu ten wyjątek jest generowany:
! 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)
Jeśli zmienię typ parametru w JDBI na String i wywołam go za pomocą metody toString () z obiektu UUID, działa:
@SqlQuery("EXECUTE [MyProcedure] :myField")
MyDto trash(@Bind("myField") String myField);
Czy istnieje sposób zapisu moich metod DAO akceptujących parametry UUID i przekonwertowania ich na łańcuchy przed powiązaniem?