Исключение при использовании примитивов Kotlin для ключей Hash и Range в Spring Data для DynamoDB - PullRequest
0 голосов
/ 29 мая 2019

При использовании типов примитивов Kotlin, таких как Long / Int, в качестве ключей Hash и Range для таблицы в DynamoDB, я получаю Caused by: java.lang.IllegalArgumentException: Unable to find hash key field or setter method on class

Ссылка на код: https://github.com/derjust/spring-data-dynamodb/wiki/Composite-Primary-Keys-Kotlin-Example Если я изменю код foobarCodeот String до Long, как в

@field:DynamoDBHashKey
var foobarCode: String? = null

и соответствующие изменения типа данных в FoobarEntry, FoobarRepository и FoobarRepositoryTest, я получаю исключение, указанное выше.

Обходной путь / обнаружен хак:

Если вы пометите тип данных как java.lang.Long вместо Long в файле Kotlin, он выдаст предупреждение о том, что вы не должны использовать java.lang.Долго в файлах Kotlin, но приложение работает нормально.Есть ли способ напрямую использовать Kotlin Long?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...