0
在JPA中,有@PrePersist和@PreUpdate批註允許在CRUD操作之前進行操作。 我正試圖找出相當於此的ApsectJ。幫助爲審計用例創建AspectJ等同於@PrePersist和@PreUpdate
我的用例是一個由一個團隊構建的JPA應用程序,現在想爲每個發生的Pre-Persist和Pre-Update添加一個Audit Aspect,而無需向原始實體添加生命週期偵聽器。
在JPA中,有@PrePersist和@PreUpdate批註允許在CRUD操作之前進行操作。 我正試圖找出相當於此的ApsectJ。幫助爲審計用例創建AspectJ等同於@PrePersist和@PreUpdate
我的用例是一個由一個團隊構建的JPA應用程序,現在想爲每個發生的Pre-Persist和Pre-Update添加一個Audit Aspect,而無需向原始實體添加生命週期偵聽器。
如果實體沒有@PrePersist和@PreUpdate方法,那麼可以使用AspectJ的類型聲明(ITD)來引入這些方法。
public aspect Audit {
declare parents: @Entity * implements AuditedEntity;
public interface AuditedEntity {}
@PrePersist
public void AuditedEntity.prePersistAuditing() {
... auditing logic
}
... similar code for @PreUpdate
}
如果實體已經有方法,您可以建議那些執行審計。