При использовании типов примитивов 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?