У меня есть объект, который выглядит следующим образом:
@Audited
@Data
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public abstract class BaseEntity {
public static final long UNSAVED = 0;
@Id
@GeneratedValue
private long id;
@CreatedDate
@Column(name = "created_at", updatable = false)
private ZonedDateTime createdAt;
@CreatedBy
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "created_by")
private User createdBy;
@LastModifiedDate
private ZonedDateTime updatedAt;
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "updated_by")
@LastModifiedBy
private User updatedBy;
}
Я хочу @LastModifiedBy и @CreatedBy, чтобы они устанавливали соответствующих пользователей.Однако, когда я пытаюсь сохранить объект, я получаю исключение:
java.lang.ClassCastException: Cannot cast java.lang.Long to com.intranet.users.Users
Так что мне кажется, что он пытается установить не фактического пользователя, а его идентификатор.Есть ли способ сделать пружину действительным пользователем для объекта, а не только для его идентификатора?
Спасибо