在DynamoDB中的表中使用Long / Int作为哈希和范围键之类的Kotlin基本类型时,我得到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中相应的数据类型更改,我得到了上面列出的异常。
解决方法/发现黑客:
如果在Kotlin文件中将数据类型标记为java.lang.Long而不是Long,则会显示警告,提示您不应在Kotlin文件中使用java.lang.Long,但该应用程序可以正常运行。 有什么方法可以直接使用Kotlin Long吗?