Example usage for org.hibernate.event.spi PreInsertEvent getPersister

List of usage examples for org.hibernate.event.spi PreInsertEvent getPersister

Introduction

In this page you can find the example usage for org.hibernate.event.spi PreInsertEvent getPersister.

Prototype

public EntityPersister getPersister() 

Source Link

Document

The persister for the #getEntity entity .

Usage

From source file:com.mpe.common.validation.BeanValidationEventListener.java

License:Open Source License

public boolean onPreInsert(PreInsertEvent event) {
    validate(event.getEntity(), event.getPersister().getEntityMode(), event.getPersister(),
            event.getSession().getFactory(), GroupsPerOperation.Operation.INSERT);
    return false;
}

From source file:es.logongas.ix3.dao.impl.rules.EventListenerImplRuleEngine.java

License:Apache License

@Override
public boolean onPreInsert(PreInsertEvent pie) {
    autowired();//  w  ww . j a  v  a 2  s.c  o  m
    EntityMode entityMode = pie.getPersister().getEntityMode();

    RuleContext ruleContext = new RuleContextImplNoPrincipal(pie.getEntity(), null);

    fireRules(ruleContext, pie.getPersister(), pie.getState(), entityMode, RuleGroupPredefined.PreInsert.class,
            RuleGroupPredefined.PreInsertOrUpdate.class, RuleGroupPredefined.PreInsertOrUpdateOrDelete.class);

    return false;
}

From source file:org.cgiar.ccafs.marlo.data.AuditColumnHibernateListener.java

License:Open Source License

/**
 * Note the implementation would be much simpler if we use JPA annotation @PreInser rather than raw hibernate.
 *///from  ww w .  j av  a  2s.co m
@Override
public boolean onPreInsert(PreInsertEvent event) {

    if (!(event.getEntity() instanceof MarloAuditableEntity)) {
        LOG.debug("entity: " + event.getEntity().getClass() + "is not a MarloAuditableEntity");
        return false;
    }

    MarloAuditableEntity auditableEntity = (MarloAuditableEntity) event.getEntity();

    String[] propertyNames = event.getPersister().getEntityMetamodel().getPropertyNames();
    Object[] state = event.getState();

    User user = this.getUser();
    Date now = new Date();

    Boolean active = new Boolean(true);

    this.setValue(state, propertyNames, "createdBy", user, auditableEntity);
    this.setValue(state, propertyNames, "activeSince", now, auditableEntity);
    this.setValue(state, propertyNames, "active", active, auditableEntity);

    // Required to guard against an insert happening together with an update.
    auditableEntity.setCreatedBy(user);
    auditableEntity.setActiveSince(now);
    auditableEntity.setActive(active);

    return false;
}

From source file:org.grails.orm.hibernate.event.listener.HibernateEventListener.java

License:Apache License

public boolean onPreInsert(PreInsertEvent event) {
    boolean evict = false;
    ClosureEventListener eventListener = findEventListener(event.getEntity(),
            event.getPersister().getFactory());
    if (eventListener != null) {
        evict = eventListener.onPreInsert(event);
    }/*from w ww.j  a v a2 s  . co  m*/
    return evict;
}

From source file:org.web4thejob.orm.event.PreInsertListener.java

License:Open Source License

public boolean onPreInsert(PreInsertEvent event) {
    if (mrs == null) {
        mrs = ContextUtil.getMRS();//from  ww  w  .j a v  a 2 s .c  o m
    }

    for (AnnotationMetadata<?> metadata : mrs
            .getAnnotationMetadata(((Entity) event.getEntity()).getEntityType(), InsertTimeHolder.class)) {
        EventUtil.assignValue((Entity) event.getEntity(), metadata.getIndex(),
                new Timestamp(System.currentTimeMillis()), event.getPersister(), event.getState());

    }

    for (AnnotationMetadata<?> metadata : mrs
            .getAnnotationMetadata(((Entity) event.getEntity()).getEntityType(), UserIdHolder.class)) {
        EventUtil.assignValue((Entity) event.getEntity(), metadata.getIndex(),
                ContextUtil.getSessionContext().getSecurityContext().getUserIdentity().getId(),
                event.getPersister(), event.getState());
    }

    return false;
}