2017-06-13 171 views
0

我必須存儲我的錶的歷史記錄。 例如,如果我有實體:休眠 - 存儲歷史

@Entity 
@EntityListener(AuditingEntityListener.class) 
public class Person { 
    @Id 
    @GeneartedValue(startegy = GenerationType.IDENTITY) 
    private Long id; 

    private String name; 

    @CreatedDate 
    @Temporal(TemporalType.DATE) 
    private Date createDate; 

    @LastModifiedDate 
    @Temporal(TemporalType.DATE) 
    private Date lastModifiedDate; 
} 

應創建新的實體PersonH​​istory與現場的人,以及更新個人儲蓄人的狀態PersonH​​istory過嗎?

是更簡單的方法嗎?

回答

2

您是否需要將所有變化存儲在您的個人中,還是足以查看上次保存的時間?

如果你需要某種版本的,也許你應該在Hibernate Envers

看看如果it's足以看出,當人被修改的最後一次,你的做法是好的,我想。

你可以創建你自己的歷史表是這樣的:

|ID | Field | changedate | before | after | 
+---+-------+------------+--------+---------+ 
| 1 | name | timestamp |Smith | Smithes | 

但你這樣做手工之前,我寧願envers。