사이의 차이보기는이 세 가지 주제에 의해 다음은 내가 해결책을 찾고최대 절전 모드 Envers - 수정
- Getting the old value and new value between two revisions with Hibernate Envers
- Diff on hibernate envers revisions
- Hibernate Envers : How to check if a field has changed between two revisions?
는 (비교하고 차이보기 위해 추가 된/편집 된/삭제 된) 개체의 두 개정 사이. 당신은 내가 감사 테이블에 MainEntity (MainEntityCounter뿐만 아니라 태그)를 추가 볼 수 있습니다처럼
@Entity
@Table(name = "MAIN_ENTITY")
@Audited
public class MainEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
@Column(name = "NAME")
private String name;
@Column(name = "SHORT_NAME")
private String shortName;
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "MAIN_ENTITY_COUNTER_ID")
private MainEntityCounter mainEntityCounter;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "mainEntity", fetch = FetchType.LAZY, orphanRemoval = true)
@JsonManagedReference
@OrderBy
private Set<Tag> tags = new HashSet<Tag>();
// getters and setters ...
}
, 그래서 나는 그 객체의 역사를 추적하고 있습니다 :
내가 엔티티 아래와 같이 있다고 가정하자.AuditReader reader = AuditReaderFactory.get(em);
MainEntity mainEntityStart = reader.find(MainEntity.class, mainEntityId, startRevision.intValue());
MainEntity mainEntityEnd = reader.find(MainEntity.class, mainEntityId, endRevision.intValue());
내가 객체 mainEntityStart
및 mainEntityEnd
를 비교하는 가장 좋은 방법/접근 무엇인지 전혀 모른다 그러나 : 나는 특정 개정 데이터베이스에서 개체의 상태를 얻는 방법을 발견했다.
Java 객체에서 JSON 객체 (또는 다른 종류의 트리 구조) 로의 변환에 대해 생각했지만 좋은 접근 방식인지는 확실하지 않습니다.
- Hibernate Envers가 객체 간의 차이점을 보여주는 API를 제공하는지 알고 있습니까?
- 차이점을 확인하는 가장 좋은 방법은 무엇인지 알고 계십니까?
도움 주셔서 감사합니다.