类org.hibernate.event.spi.PostInsertEvent源码实例Demo

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

源代码1 项目: lams   文件: EntityInsertAction.java
private void postInsert() {
	final EventListenerGroup<PostInsertEventListener> listenerGroup = listenerGroup( EventType.POST_INSERT );
	if ( listenerGroup.isEmpty() ) {
		return;
	}
	final PostInsertEvent event = new PostInsertEvent(
			getInstance(),
			getId(),
			getState(),
			getPersister(),
			eventSource()
	);
	for ( PostInsertEventListener listener : listenerGroup.listeners() ) {
		listener.onPostInsert( event );
	}
}
 
源代码2 项目: lams   文件: EntityIdentityInsertAction.java
private void postInsert() {
	if ( isDelayed ) {
		getSession().getPersistenceContext().replaceDelayedEntityIdentityInsertKeys( delayedEntityKey, generatedId );
	}

	final EventListenerGroup<PostInsertEventListener> listenerGroup = listenerGroup( EventType.POST_INSERT );
	if ( listenerGroup.isEmpty() ) {
		return;
	}
	final PostInsertEvent event = new PostInsertEvent(
			getInstance(),
			generatedId,
			getState(),
			getPersister(),
			eventSource()
	);
	for ( PostInsertEventListener listener : listenerGroup.listeners() ) {
		listener.onPostInsert( event );
	}
}
 
源代码3 项目: mojito   文件: EntityCrudEventListener.java
@Override
public void onPostInsert(PostInsertEvent event) {
    Repository repository = null;
    Object entity = event.getEntity();

    if (entity instanceof RepositoryLocale) {
        RepositoryLocale repositoryLocale = (RepositoryLocale) entity;
        repository = repositoryLocale.getRepository();
        logger.debug("Repository statistics is outdated because locale is added");
    } else if (entity instanceof TMTextUnitVariant) {
        TMTextUnitVariant tmTextUnitVariant = (TMTextUnitVariant) entity;
        TMTextUnit tmTextUnit = tmTextUnitVariant.getTmTextUnit();
        repository = tmTextUnit.getAsset().getRepository();
        logger.debug("Repository statistics is outdated because string/translation is added");
    }

    setRepositoryStatistisOutOfDate(repository);
}
 
源代码4 项目: lams   文件: EntityInsertAction.java
private void postCommitInsert(boolean success) {
	final EventListenerGroup<PostInsertEventListener> listenerGroup = listenerGroup( EventType.POST_COMMIT_INSERT );
	if ( listenerGroup.isEmpty() ) {
		return;
	}
	final PostInsertEvent event = new PostInsertEvent(
			getInstance(),
			getId(),
			getState(),
			getPersister(),
			eventSource()
	);
	for ( PostInsertEventListener listener : listenerGroup.listeners() ) {
		if ( PostCommitInsertEventListener.class.isInstance( listener ) ) {
			if ( success ) {
				listener.onPostInsert( event );
			}
			else {
				((PostCommitInsertEventListener) listener).onPostInsertCommitFailed( event );
			}
		}
		else {
			//default to the legacy implementation that always fires the event
			listener.onPostInsert( event );
		}
	}
}
 
源代码5 项目: lams   文件: EntityIdentityInsertAction.java
private void postCommitInsert(boolean success) {
	final EventListenerGroup<PostInsertEventListener> listenerGroup = listenerGroup( EventType.POST_COMMIT_INSERT );
	if ( listenerGroup.isEmpty() ) {
		return;
	}
	final PostInsertEvent event = new PostInsertEvent(
			getInstance(),
			generatedId,
			getState(),
			getPersister(),
			eventSource()
	);
	for ( PostInsertEventListener listener : listenerGroup.listeners() ) {
		if ( PostCommitInsertEventListener.class.isInstance( listener ) ) {
			if ( success ) {
				listener.onPostInsert( event );
			}
			else {
				((PostCommitInsertEventListener) listener).onPostInsertCommitFailed( event );
			}
		}
		else {
			//default to the legacy implementation that always fires the event
			listener.onPostInsert( event );
		}
	}
}
 
public void onPostInsert(PostInsertEvent hibernateEvent) {
    Object entity = hibernateEvent.getEntity();
    org.grails.datastore.mapping.engine.event.PostInsertEvent grailsEvent = new org.grails.datastore.mapping.engine.event.PostInsertEvent(
            this.datastore, entity);
    activateDirtyChecking(entity);
    publishEvent(hibernateEvent, grailsEvent);
}
 
@Override
public void onPostInsert( PostInsertEvent event )
{
    if ( IdentifiableObject.class.isInstance( event.getEntity() )
        && MetadataObject.class.isInstance( event.getEntity() )
        && !EmbeddedObject.class.isInstance( event.getEntity() ) )
    {
        StatelessSession session = event.getPersister().getFactory().openStatelessSession();
        session.beginTransaction();

        try
        {
            List<DeletedObject> deletedObjects = deletedObjectService
                .getDeletedObjects( new DeletedObjectQuery( (IdentifiableObject) event.getEntity() ) );

            deletedObjects.forEach( deletedObject -> session.delete( deletedObject ) );

            session.getTransaction().commit();
        }
        catch ( Exception ex )
        {
            log.error( "Failed to delete DeletedObject for:" + event.getEntity() );
            session.getTransaction().rollback();
        }
        finally
        {
            session.close();
        }
    }
}
 
源代码8 项目: dhis2-core   文件: PostInsertAuditListener.java
@Override
public void onPostInsert( PostInsertEvent postInsertEvent )
{
    Object entity = postInsertEvent.getEntity();

    getAuditable( entity, "create" ).ifPresent( auditable ->
        auditManager.send( Audit.builder()
            .auditType( getAuditType() )
            .auditScope( auditable.scope() )
            .createdAt( LocalDateTime.now() )
            .createdBy( getCreatedBy() )
            .object( entity )
            .auditableEntity( new AuditableEntity( entity ) )
            .build() ) );
}
 
源代码9 项目: lams   文件: CollectionCacheInvalidator.java
@Override
public void onPostInsert(PostInsertEvent event) {
	evictCache( event.getEntity(), event.getPersister(), event.getSession(), null );
}
 
源代码10 项目: lams   文件: PostInsertEventListenerStandardImpl.java
@Override
public void onPostInsert(PostInsertEvent event) {
	Object entity = event.getEntity();
	callbackRegistry.postCreate( entity );
}
 
源代码11 项目: mojito   文件: EntityCrudEventListener.java
@Override
public void onPostInsertCommitFailed(PostInsertEvent pie) {
}
 
@Override
public void onPostInsertCommitFailed( PostInsertEvent event )
{
    log.debug( "onPostInsertCommitFailed: " + event );
}
 
源代码13 项目: dhis2-core   文件: PostInsertAuditListener.java
@Override
public void onPostInsertCommitFailed( PostInsertEvent event )
{
    log.warn( "onPostInsertCommitFailed: " + event );
}
 
 类所在包
 类方法
 同包方法