List of usage examples for org.hibernate.event.spi PreInsertEvent getPersister
public EntityPersister getPersister()
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; }