org.hibernate.envers.CrossTypeRevisionChangesReader Maven / Gradle / Ivy
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or .
*/
package org.hibernate.envers;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.hibernate.envers.tools.Pair;
/**
* Queries that allow retrieving snapshots of all entities (regardless of their particular type) changed in the given
* revision. Note that this API can be legally used only when default mechanism of tracking modified entity names
* is enabled.
*
* @author Lukasz Antoniak (lukasz dot antoniak at gmail dot com)
*/
public interface CrossTypeRevisionChangesReader {
/**
* Find all entities changed (added, updated and removed) in a given revision. Executes n+1 SQL queries,
* where n is a number of different entity classes modified within specified revision.
*
* @param revision Revision number.
*
* @return Snapshots of all audited entities changed in a given revision.
*
* @throws IllegalStateException If the associated entity manager is closed.
* @throws IllegalArgumentException If a revision number is null
, less or equal to 0.
*/
List