private void disallowDeletionOfDetached(DeleteEvent event) { EventSource source = event.getSession(); String entityName = event.getEntityName(); EntityPersister persister = source.getEntityPersister( entityName, event.getObject() ); Serializable id = persister.getIdentifier( event.getObject(), source ); entityName = entityName == null ? source.guessEntityName( event.getObject() ) : entityName; throw new IllegalArgumentException("Removing a detached instance "+ entityName + "#" + id); }
Object entity = persistenceContext.unproxyAndReassociate( event.getObject() );
@Override protected void performDetachedEntityDeletionCheck(DeleteEvent event) { EventSource source = event.getSession(); String entityName = event.getEntityName(); EntityPersister persister = source.getEntityPersister( entityName, event.getObject() ); Serializable id = persister.getIdentifier( event.getObject(), source ); entityName = entityName == null ? source.guessEntityName( event.getObject() ) : entityName; throw new IllegalArgumentException("Removing a detached instance "+ entityName + "#" + id); } }
private void disallowDeletionOfDetached(DeleteEvent event) { EventSource source = event.getSession(); String entityName = event.getEntityName(); EntityTypeDescriptor descriptor = source.getEntityDescriptor( entityName, event.getObject() ); Object id = descriptor.getIdentifier( event.getObject(), source ); entityName = entityName == null ? source.guessEntityName( event.getObject() ) : entityName; throw new IllegalArgumentException( "Removing a detached instance " + entityName + "#" + id ); }
public class SoftDeleteEventListener extends DefaultDeleteEventListener { /** * */ private static final long serialVersionUID = 1L; @Override public void onDelete(DeleteEvent event, Set arg1) throws HibernateException { Object o = event.getObject(); if (o instanceof SoftDeletable) { ((SoftDeletable)o).setStatusId(1); EntityPersister persister = event.getSession().getEntityPersister( event.getEntityName(), o); EntityEntry entityEntry = event.getSession().getPersistenceContext().getEntry(o); cascadeBeforeDelete(event.getSession(), persister, o, entityEntry, arg1); cascadeAfterDelete(event.getSession(), persister, o, arg1); } else { super.onDelete(event, arg1); } }
public class SoftDeleteEventListener extends DefaultDeleteEventListener { /** * */ private static final long serialVersionUID = 1L; @Override public void onDelete(DeleteEvent event, Set arg1) throws HibernateException { Object o = event.getObject(); if (o instanceof SoftDeletable) { ((SoftDeletable)o).setStatusId(1); EntityPersister persister = event.getSession().getEntityPersister( event.getEntityName(), o); EntityEntry entityEntry = event.getSession().getPersistenceContext().getEntry(o); cascadeBeforeDelete(event.getSession(), persister, o, entityEntry, arg1); cascadeAfterDelete(event.getSession(), persister, o, arg1); } else { super.onDelete(event, arg1); } } }
Object entity = persistenceContext.unproxyAndReassociate( event.getObject() );
Object entity = persistenceContext.unproxyAndReassociate( event.getObject() );
Object entity = persistenceContext.unproxyAndReassociate( event.getObject() );