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注釈が却下されています。 2つの注釈はJavaでうまく機能します。 私のkotlinバージョンは1.1.4です。 問題を解決するにはどうすればよいですか?
こんにちは、この正確な例をKotlin '1.1.3-2'と' 1.1.4-2'で試しました。両方のために働く。どちらの逆コンパイラを使用しますか?あなたは問題を再現する場所に小さな小さなギター・レポを提供することができますか? – guenhter
@guenhter返事ありがとうございました、私は答えの理由を説明しました。 – Iconoclast