package com.ga.common.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * 데이터 변경 이력 자동 기록. * *
* @DataChangeLog(menu = "RULE", table = "payout_rule")
* public void updatePayoutRule(PayoutRuleVO vo) { ... }
*
*
* 동작: 메서드 실행 전·후의 대상 데이터를 비교 → data_change_log JSONB 컬럼에 저장.
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface DataChangeLog {
String menu();
String table();
/** 액션 유형. 자동 추정 안 될 때 명시 */
String action() default "";
}