however, adding an interface in between ``` inter...
# spring
t
however, adding an interface in between
Copy code
interface Auditable {
	var createdBy: Auditor?
	var createdAt: Date?
	var modifiedBy: Auditor?
	var modifiedAt: Date?
}

@Embeddable
data class BaseAuditable(
	@Column(name = "modified_at")
	@LastModifiedDate
	override var modifiedAt: Date? = Date(),
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "modified_by")
	@LastModifiedBy
	override var modifiedBy: Auditor? = null,
	@Column(name = "created_at")
	@CreatedDate
	override var createdAt: Date? = null,
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "created_by")
	@CreatedBy
	override var createdBy: Auditor? = null
) : Auditable

@Entity(name = "masterplan")
@EntityListeners(AuditingEntityListener::class)
data class Masterplan(
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	val id: Int? = null,
	@Embedded
	var auditable: Auditable = BaseAuditable()
) : Auditable by auditable
and now audited values are not set