在Spring Data for DynamoDB中将Kotlin原语用于Hash和Range键时发生异常

时间:2019-05-29 14:10:34

标签: spring-data-jpa amazon-dynamodb

在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吗?

0 个答案:

没有答案