Hibernate Envers - 사용자 지정 필드로 개정 정보를 확장하는이 질문은 사용자 지정 필드로 Hibernate Envers가 추적 한 표준 개정 정보를 강화하는 방법을 탐구합니다. Envers는 기본적으로 개정 번호, 타임 스탬프 및 변경 사항을 담당하는 사용자와 같은 정보를 제공합니다. 그러나 종종 이러한 표준 필드와 함께 추가 컨텍스트 별 데이터를 저장해야합니다. 이는 기본 envers 개정 엔티티를 확장하는 사용자 정의 개정 엔티티를 작성하여 달성됩니다. 이를 통해 자신의 속성을 추가하여 더 풍부한 감사 트레일을 제공 할 수 있습니다. 다음 섹션 에서이 섹션에서 효과적으로 구현하는 방법을 살펴볼 것입니다.
라고 가정 해 봅시다. 예를 들어
(또는 Envers 버전에 따라 해당)를 확장하고 사용자 정의 필드를 추가하는 새 엔티티 (예 : )를 만듭니다.이 코드는 두 개의 추가 필드로 a 주석은 최대 절전 모드 가이 엔티티를 Envers 개정 엔티티로 인식하고 관리하는 데 중요합니다. 주석은 개정 정보가 라는 테이블에 저장된다고 가정합니다. 테이블 이름이 다른 경우 조정하십시오. org.hibernate.envers.DefaultRevisionEntity
결정적으로, 사용자 정의 개정 엔티티를 사용하려면 최대 절전 모드를 구성해야합니다. 이는 일반적으로 최대 절전 모드 구성 (예 : CustomRevisionEntity
또는 프로그래밍 구성 구성)에서 속성을 설정하여 수행됩니다. DefaultRevisionEntity
를 사용자 정의 개정 엔티티의 자격을 갖춘 이름으로 바꾸십시오. 이 구성 후 Envers는 사용자 정의 엔티티를 사용하여 추가 사용자 정의 필드를 포함하여 개정 정보를 저장합니다.
<code class="java">@Entity @Audited @Table(name = "REVINFO") public class CustomRevisionEntity extends DefaultRevisionEntity { @Column(name = "application_name") private String applicationName; @Column(name = "client_ip") private String clientIp; // Add other custom fields as needed... // Getters and setters for all fields // ... }</code>
Envers Revision Metadata를 확장 할 때 몇 가지 모범 사례를 따라야합니다.
위 내용은 최대 절전 모드 - 사용자 지정 필드로 개정 정보를 확장합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!