类org.hibernate.envers.query.AuditQuery源码实例Demo

下面列出了怎么用org.hibernate.envers.query.AuditQuery的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: tutorials   文件: AbstractHibernateAuditableDao.java
@Override
public List<T> getRevisions() {
    final AuditReader auditReader = AuditReaderFactory.get(getCurrentSession());
    final AuditQuery query = auditReader.createQuery().forRevisionsOfEntity(clazz, true, true);
    final List<T> resultList = query.getResultList();
    return resultList;
}
 
源代码2 项目: mojito   文件: CurrentVariantRollbackService.java
/**
 * Deletes the {@link com.box.l10n.mojito.entity.TMTextUnitCurrentVariant}s based on the given parameters.
 * These variants will be recreated later in the same state as at the rollback date.
 *
 * @param rollbackDateTime Date at which the {@link TMTextUnitCurrentVariant}s will be rollbacked to
 * @param tmId             ID of the TM the {@link TMTextUnitCurrentVariant}s to be rolled back should belong to
 * @param extraParameters  Extra parameters to filter what to rollback
 */
protected void addCurrentVariantsAsOfRollbackDate(DateTime rollbackDateTime, Long tmId, CurrentVariantRollbackParameters extraParameters) {

    logger.debug("Adding back TMTextUnitCurrentVariants as of {}", rollbackDateTime);

    AuditQuery auditQuery = buildInsertAuditQuery(rollbackDateTime, tmId, extraParameters);
    List<TMTextUnitCurrentVariant> tmTextUnitCurrentVariantsToAdd = (List<TMTextUnitCurrentVariant>) auditQuery.getResultList();
    tmTextUnitCurrentVariantRepository.save(tmTextUnitCurrentVariantsToAdd);
}
 
源代码3 项目: mojito   文件: CurrentVariantRollbackService.java
/**
 * Builds the query to insert new {@link com.box.l10n.mojito.entity.TMTextUnitCurrentVariant}s
 * as they were at the rollback date.
 *
 * @param rollbackDateTime Date at which the {@link TMTextUnitCurrentVariant}s will be rollbacked to
 * @param tmId             ID of the TM the {@link TMTextUnitCurrentVariant}s to be rolled back should belong to
 * @param extraParameters  Extra parameters to filter what to rollback
 * @return The insert audit query
 */
protected AuditQuery buildInsertAuditQuery(DateTime rollbackDateTime, Long tmId, CurrentVariantRollbackParameters extraParameters) {

    logger.trace("Building the insert tmTextUnitCurrentVariants audit query");

    AuditReader auditReader = AuditReaderFactory.get(entityManager);
    Number revNumberAtDate = auditReader.getRevisionNumberForDate(rollbackDateTime.toDate());

    AuditQuery auditQuery = auditReader.createQuery()
            .forEntitiesAtRevision(TMTextUnitCurrentVariant.class, TMTextUnitCurrentVariant.class.getName(), revNumberAtDate, true)
            .add(AuditEntity.property("tm_id").eq(tmId));

    List<Long> localeIdsToRollback = extraParameters.getLocaleIds();
    if (localeIdsToRollback != null && !localeIdsToRollback.isEmpty()) {
        // Using "in" does not work with relatedId() nor property() so using loop instead
        for (Long localeIdToRollback : localeIdsToRollback) {
            auditQuery.add(AuditEntity.relatedId("locale").eq(localeIdToRollback));
        }
    }

    List<Long> tmTextUnitIdsToRollback = extraParameters.getTmTextUnitIds();
    if (tmTextUnitIdsToRollback != null && !tmTextUnitIdsToRollback.isEmpty()) {
        // Using "in" does not work with relatedId() nor property() so using loop instead
        for (Long tmTextUnitIdToRollback : tmTextUnitIdsToRollback) {
            auditQuery.add(AuditEntity.relatedId("tmTextUnit").eq(tmTextUnitIdToRollback));
        }
    }

    return auditQuery;
}
 
源代码4 项目: pnc   文件: AbstractAuditRepository.java
@Override
public List<Revision<Entity, ID>> getAllRevisions() {
    List<Revision<Entity, ID>> returnedRevisions = new ArrayList<>();
    AuditQuery query = auditReader.createQuery().forRevisionsOfEntity(entityClass, true, true);
    query.getResultList().forEach(returnedEntity -> returnedRevisions.add(createRevision(returnedEntity)));
    return returnedRevisions;
}
 
源代码5 项目: ankush   文件: ConfigurationManager.java
/**
 * Gets the configuration.
 * 
 * @param clusterId
 *            the cluster id
 * @return the configuration
 */
public List getConfiguration(Long clusterId) {
	try {
		AuditReader reader = AuditReaderFactory.get(HibernateUtils
				.getEntityManager());
		AuditQuery query = reader.createQuery().forRevisionsOfEntity(
				Configuration.class, false, true);

		// filter results besed on cluster id.
		query.add(AuditEntity.property(
				com.impetus.ankush2.constant.Constant.Keys.CLUSTERID).eq(
				clusterId));
		query.addOrder(AuditEntity.revisionProperty(
				com.impetus.ankush2.constant.Constant.Keys.TIMESTAMP)
				.desc());

		// Getting Result list.
		List list = query.getResultList();

		// Creating List Object.
		List result = new ArrayList();
		for (Object object : list) {
			Object[] obj = (Object[]) object;
			Map map = new HashMap();
			// Mapping Revision Entity.
			DefaultRevisionEntity ri = (DefaultRevisionEntity) obj[1];
			map.putAll(JsonMapperUtil.mapFromObject(obj[0]));
			map.put(com.impetus.ankush2.constant.Constant.Keys.DATE,
					ri.getRevisionDate());
			map.put(com.impetus.ankush2.constant.Constant.Keys.REVISIONID,
					ri.getId());
			map.put(com.impetus.ankush2.constant.Constant.Keys.TYPE, obj[2]);
			result.add(map);
		}
		return result;
	} catch (Exception e) {
		LOG.error(e.getMessage(), e);
	}
	return null;

}
 
源代码6 项目: tutorials   文件: AbstractHibernateAuditableDao.java
@Override
public List<T> getEntitiesAtRevision(final Number revision) {
    final AuditReader auditReader = AuditReaderFactory.get(getCurrentSession());
    final AuditQuery query = auditReader.createQuery().forEntitiesAtRevision(clazz, revision);
    final List<T> resultList = query.getResultList();
    return resultList;
}
 
源代码7 项目: tutorials   文件: AbstractHibernateAuditableDao.java
@Override
public List<T> getEntitiesModifiedAtRevision(final Number revision) {
    final AuditReader auditReader = AuditReaderFactory.get(getCurrentSession());
    final AuditQuery query = auditReader.createQuery().forEntitiesModifiedAtRevision(clazz, revision);
    final List<T> resultList = query.getResultList();
    return resultList;
}
 
 类所在包
 类方法
 同包方法