Package org.hibernate.engine.spi

Examples of org.hibernate.engine.spi.EntityKey


    final Object[] rowResults = new Object[cols];

    for ( int i = 0; i < cols; i++ ) {

      Object object = null;
      EntityKey key = keys[i];

      if ( keys[i] == null ) {
        //do nothing
      }
      else {
View Full Code Here


      throw new TypeMismatchException(
          "Provided id of the wrong type for class " + persister.getEntityName() + ". Expected: " + idClass + ", got " + event.getEntityId().getClass()
      );
    }

    final  EntityKey keyToLoad = source.generateEntityKey( event.getEntityId(), persister );

    try {
      if ( loadType.isNakedEntityReturned() ) {
        //do not return a proxy!
        //(this option indicates we are initializing a proxy)
View Full Code Here

      LoadEvent event,
      LoadEventListener.LoadType options,
      EntityPersister dependentPersister,
      EmbeddedComponentType dependentIdType,
      EntityPersister parentPersister) {
    final EntityKey parentEntityKey = event.getSession().generateEntityKey( event.getEntityId(), parentPersister );
    final Object parent = doLoad( event, parentPersister, parentEntityKey, options );

    final Serializable dependent = (Serializable) dependentIdType.instantiate( parent, event.getSession() );
    dependentIdType.setPropertyValues( dependent, new Object[] {parent}, dependentPersister.getEntityMode() );
    final EntityKey dependentEntityKey = event.getSession().generateEntityKey( dependent, dependentPersister );
    event.setEntityId( dependent );

    event.setResult( doLoad( event, dependentPersister, dependentEntityKey, options ) );
  }
View Full Code Here

    EntityPersister subclassPersister = factory.getEntityPersister( entry.getSubclass() );
    Object result = optionalObject == null ?
        session.instantiate( subclassPersister, id ) : optionalObject;

    // make it circular-reference safe
    final EntityKey entityKey = session.generateEntityKey( id, subclassPersister );
    TwoPhaseLoad.addUninitializedCachedEntity(
        entityKey,
        result,
        subclassPersister,
        LockMode.NONE,
View Full Code Here

    if ( isImpliedOptimisticLocking ) {
      // need to treat this as if it where optimistic-lock="all" (dirty does *not* make sense);
      // first we need to locate the "loaded" state
      //
      // Note, it potentially could be a proxy, so doAfterTransactionCompletion the location the safe way...
      final EntityKey key = session.generateEntityKey( id, this );
      Object entity = session.getPersistenceContext().getEntity( key );
      if ( entity != null ) {
        EntityEntry entry = session.getPersistenceContext().getEntry( entity );
        loadedState = entry.getLoadedState();
      }
View Full Code Here

        try {
          //if there is no resulting row, return null
          if ( !rs.next() ) {
            return null;
          }
          final EntityKey key = session.generateEntityKey( id, this );
          Object owner = session.getPersistenceContext().getEntity( key );
          for ( int i = 0; i < naturalIdPropertyCount; i++ ) {
            snapshot[i] = extractionTypes[i].hydrate( rs, getPropertyAliases( "", naturalIdPropertyIndexes[i] ), session, null );
            if (extractionTypes[i].isEntityType()) {
              snapshot[i] = extractionTypes[i].resolve(snapshot[i], session, owner);
View Full Code Here

   * database, or null if there is no corresponding row
   */
  @Override
  public Object[] getDatabaseSnapshot(Serializable id, EntityPersister persister)
  throws HibernateException {
    final EntityKey key = session.generateEntityKey( id, persister );
    Object cached = entitySnapshotsByKey.get(key);
    if (cached!=null) {
      return cached==NO_ROW ? null : (Object[]) cached;
    }
    else {
View Full Code Here

   * @param proxy The proxy to reassociate.
   */
  private void reassociateProxy(LazyInitializer li, HibernateProxy proxy) {
    if ( li.getSession() != this.getSession() ) {
      final EntityPersister persister = session.getFactory().getEntityPersister( li.getEntityName() );
      final EntityKey key = session.generateEntityKey( li.getIdentifier(), persister );
        // any earlier proxy takes precedence
      if ( !proxiesByKey.containsKey( key ) ) {
        proxiesByKey.put( key, proxy );
      }
      proxy.getHibernateLazyInitializer().setSession( session );
View Full Code Here

  public void replaceDelayedEntityIdentityInsertKeys(EntityKey oldKey, Serializable generatedId) {
    final Object entity = entitiesByKey.remove( oldKey );
    final EntityEntry oldEntry = entityEntryContext.removeEntityEntry( entity );
    parentsByChild.clear();

    final EntityKey newKey = session.generateEntityKey( generatedId, oldEntry.getPersister() );
    addEntity( newKey, entity );
    addEntry(
        entity,
            oldEntry.getStatus(),
            oldEntry.getLoadedState(),
View Full Code Here

          ConcurrentReferenceHashMap.ReferenceType.STRONG,
          ConcurrentReferenceHashMap.ReferenceType.WEAK,
          null
      );
      for ( int i = 0; i < count; i++ ) {
        final EntityKey ek = EntityKey.deserialize( ois, sfi );
        final Object proxy = ois.readObject();
        if ( proxy instanceof HibernateProxy ) {
          ( ( HibernateProxy ) proxy ).getHibernateLazyInitializer().setSession( session );
          rtn.proxiesByKey.put( ek, proxy );
        } else {
View Full Code Here

TOP

Related Classes of org.hibernate.engine.spi.EntityKey

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.