@CreationTimestamp y @UpdateTimestamp no funcionan en Kotlin

Estas son mis classs de Tag y Post Entity:

@Entity class Tag( @get:NotBlank @Column(unique = true) val name: String = "", val description: String = "" ) { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE) val id: Int? = null @ManyToMany(mappedBy = "tags") val posts: MutableSet<Post> = mutableSetOf() @CreationTimestamp lateinit var createDate: Date @UpdateTimestamp lateinit var updateDate: Date fun addPost(post: Post) { this.posts.add(post) post.tags.add(this) } } @Entity class Post( @get:NotBlank var name: String = "", val content: String = "" ) { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE) val id: Int? = null @ManyToMany @Cascade(CascadeType.ALL) val tags: MutableSet<Tag> = mutableSetOf() @CreationTimestamp @Temporal(TemporalType.TIMESTAMP) lateinit var createDate: Date @UpdateTimestamp @Temporal(TemporalType.TIMESTAMP) lateinit var updateDate: Date fun addTag(tag: Tag) { this.tags.add(tag) tag.posts.add(this) } } 

La consulta:

 val post1 = Post( "Post 1", "Post 1 content"); val post2 = Post( "Post 2", "Post 2 content"); var tag = Tag( "news", "Tag description") post1.addTag(tag) post2.addTag(tag) em.persist(post1) em.persist(post2) em.remove(post1) em.flush() 

Pero luego, createDate y updateDate devuelven null (label y publicación): enter image description here

Convertí este código en Java y funciona bien

Versión de Kotlin: 1.2-M2

SpringBootVersion: '2.0.0.M7'

    El problema probablemente exista en el hecho de que esas annotations no están limitadas a lo que deberían anotar. Esto significa que kotlin no sabe exactamente dónde colocarlos en el bytecode final.

    Para get el mismo bytecode generado por Java, debe especificar el objective de anotación de la anotación en cuestión:

     @field:CreationTimestamp lateinit var createDate: Date 

    El context no es suficiente para proporcionar una respuesta significativa.

    Debe dar más context, en particular el server de aplicaciones, con su versión, o incluso código para este caso de uso específico. Para empezar, sugiero que primero compruebe si el mismo código de Java funciona.

    Mi mejor estimación hasta el momento, está utilizando Spring Data JPA, mientras que @CreationTimestamp y @UpdateTimestamp son específicos de Hibernate.