将用户会话中的UserID作为@Column传递给hibernate实体

时间:2013-05-21 23:03:23

标签: spring hibernate entity

我有一个用户hibernate @Entity,它有一个CreatedBy列。我将此用户信息(由其创建)存储在用户会话中。

@Entity
public User

    @Column(name="CreatedBy")
    public createdBy;

}

我希望@CreatedBy列能够自动从用户Session读取。我不想用setter方法设置它。

我正在使用Spring框架和Hibernate。

由于

1 个答案:

答案 0 :(得分:1)

您可以使用@PrePersist@PreUpdate注释,特别是@PrePersist,就像这样

@PrePersist
public void audit () {
     this.createdBy = SecurityContextHolder.getContext().getAuthentication().getName();
}

您可以从here

了解更多信息

抱歉我的英语不好,欢呼声