Я пытаюсь использовать Kotlin в проекте Spring и обнаружил, что с сущностями расширяется абстрактный класс.Котлин не может рассказать аннотацию в абстрактном классе.Конфигурация указана ниже.
Base.kt
package io.qiyue.dream.entity
import org.hibernate.annotations.GenericGenerator
import org.springframework.data.annotation.CreatedBy
import org.springframework.data.annotation.LastModifiedBy
import org.springframework.data.annotation.LastModifiedDate
import org.springframework.data.jpa.domain.support.AuditingEntityListener
import java.time.LocalDateTime
import javax.persistence.Column
import javax.persistence.EntityListeners
import javax.persistence.GeneratedValue
import javax.persistence.Id
@EntityListeners(AuditingEntityListener::class)
abstract class Base {
@Id
@GeneratedValue(generator = "UUID")
@GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator")
@Column(name = "id")
open var id: String? = null
@Column(name = "last_modified_at")
@LastModifiedDate
open val lastModifiedAt: LocalDateTime? = null
@Column(name = "last_modified_by")
@LastModifiedBy
open val lastModifiedBy: String? = null
@Column(name = "created_by")
@CreatedBy
open val createdBy: String? = null
}
Role.kt
package io.qiyue.dream.entity
import javax.persistence.*
@Entity
@Table(name = "q_role")
open class Role (val name: String) : Base(){
}