Kotlin編譯器刪除註釋在字段上的Java運行時註釋。註釋如下所示。在kotlin類中的字段上註釋的運行時註釋未正確生成
@Target({ElementType.ANNOTATION_TYPE, ElementType.METHOD, ElementType.FIELD, ElementType.TYPE, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@com.fasterxml.jackson.annotation.JacksonAnnotation
public @interface JsonDeserialize
我在一個字段上聲明它,如下所示。
@JsonSerialize(using = IDEncryptJsonSerializer::class)
@JsonDeserialize(using = IDDecryptJsonDeserializer::class)
@Column(name = "sku_id", nullable = false)
open var skuId: Long = 0L
註解不起作用。然後,我看看班級文件,如下所示。
@field:javax.persistence.Column public open var skuId: kotlin.Long
JsonDeserialize和JsonSerialize註釋被忽略。 這兩個註釋在Java中運行良好。 我的kotlin版本是1.1.4。 我該如何解決這個問題?
嗨,我嘗試了Kotlin'1.1.3-2'和'1.1.4-2'的確切例子。適用於他們兩人。你使用哪個反編譯器?你可能會提供一個微小的github回購問題來重現問題嗎? – guenhter
@guenhter謝謝你的回覆,我解釋了答案的理由。 – Iconoclast