不能在corda 4中列出一个类?

不能在corda 4中列出一个类?,corda,Corda,您好,我使用此示例手动将java.sql.timestamp类列入白名单,但仍然出现以下错误: "No unique deserialisation constructor found for class class java.sql.Timestamp, type is marked as non-composable E 10:05:59 80 SerializationOutput.log - Serialization failed direction="Serialize", type

您好,我使用此示例手动将java.sql.timestamp类列入白名单,但仍然出现以下错误:

"No unique deserialisation constructor found for class class java.sql.Timestamp, type is marked as non-composable
E 10:05:59 80 SerializationOutput.log - Serialization failed direction="Serialize", type="java.sql.Timestamp", msg="Class "class java.sql.Timestamp" is not on the whitelist or annotated with @CordaSerializable.", ClassChain="java.util.List<*> -> java.sql.Timestamp"
   E 10:05:59 80 RestController.createIOU - Class "class java.sql.Timestamp" is not on the whitelist or annotated with @CordaSerializable"

对于这种类型,您需要编写一个自定义序列化程序,而不仅仅是将该类型列为白名单

但是,我可以问一下,您为什么要特别使用这种类型?当您需要时间到机器精度时,使用java.time.Instant在分类账上记录时间更为传统,或者使用其他类型(如java.time.LocalDateTime)记录时间到人的精度级别,例如在未指定时区时使用“8pm星期二”

如果您有从java.sql.Timestamp开始的数据,那么最好将其转换为Instant,因为该类型具有更好的设计

此外,默认情况下,时间戳包含在事务中。查看此问题的答案,了解如何解决此问题

class TradingAppSerializationWhitelist : SerializationWhitelist {
    // Add classes like this.
    override val whitelist = listOf(Timestamp::class.java)
}