Package org.hibernate.metadata

Examples of org.hibernate.metadata.ClassMetadata


        }

        if (propertyType.isAssociationType())
        {
          // For association the the property value type is the type of referenced types identifier.
          final ClassMetadata metadata = sessionFactory.getClassMetadata(
              classMetadata.getPropertyType(propertyName).getReturnedClass());

          return metadata.getIdentifierType().getReturnedClass();
        }

        return classMetadata.getPropertyType(propertyName).getReturnedClass();
      }
View Full Code Here


        Session session = source.create();
        Assert.assertNotNull(session);

        // make sure it found the entity in the package
        ClassMetadata meta = session.getSessionFactory().getClassMetadata(User.class);
        Assert.assertEquals(meta.getEntityName(), "org.example.app0.entities.User");

        verify();
    }
View Full Code Here

      }
   }
  
   public static void checkVersion(Object value, Session session, Object oldVersion, Object version)
   {
      ClassMetadata classMetadata = getClassMetadata(value, session);
      VersionType versionType = (VersionType) classMetadata.getPropertyTypes()[ classMetadata.getVersionProperty() ];
      if ( !versionType.isEqual(oldVersion, version) )
      {
         throw new StaleStateException("current database version number does not match passivated version number");
      }
   }
View Full Code Here

      }
   }
  
   public static Object getVersion(Object value, Session session)
   {
      ClassMetadata classMetadata = getClassMetadata(value, session);
      return classMetadata!=null && classMetadata.isVersioned() ?
               classMetadata.getVersion(value, EntityMode.POJO) : null;
   }
View Full Code Here

   }
  
   private static ClassMetadata getClassMetadata(Object value, Session session)
   {
      Class entityClass = getEntityClass(value);
      ClassMetadata classMetadata = null;
      if (entityClass!=null)
      {
         classMetadata = session.getSessionFactory().getClassMetadata(entityClass);
         if (classMetadata==null)
         {
View Full Code Here

*/
@SuppressWarnings("unchecked")
public class NaturalIdTest extends TestCase {

  public void testMappingProperties() {
    ClassMetadata metaData = getSessions().getClassMetadata(
        Citizen.class);
    assertTrue("Class should have a natural key", metaData
        .hasNaturalIdentifier());
    int[] propertiesIndex = metaData.getNaturalIdentifierProperties();
    assertTrue("Wrong number of elements", propertiesIndex.length == 2);
  }
View Full Code Here

  private Logger log = LoggerFactory.getLogger(NaturalIdOnManyToOne.class);

  public void testMappingProperties() {
    log.warn("Commented out test");
   
    ClassMetadata metaData = getSessions().getClassMetadata(
        NaturalIdOnManyToOne.class);
    assertTrue("Class should have a natural key", metaData
        .hasNaturalIdentifier());
    int[] propertiesIndex = metaData.getNaturalIdentifierProperties();
    assertTrue("Wrong number of elements", propertiesIndex.length == 1);
  }
View Full Code Here

   * @param entity an actual entity object, not a proxy!
   */
  public String toString(Object entity, EntityMode entityMode) throws HibernateException {

    // todo : this call will not work for anything other than pojos!
    ClassMetadata cm = factory.getClassMetadata( entity.getClass() );

    if ( cm==null ) return entity.getClass().getName();

    Map result = new HashMap();

    if ( cm.hasIdentifierProperty() ) {
      result.put(
        cm.getIdentifierPropertyName(),
        cm.getIdentifierType().toLoggableString( cm.getIdentifier( entity, entityMode ), factory )
      );
    }

    Type[] types = cm.getPropertyTypes();
    String[] names = cm.getPropertyNames();
    Object[] values = cm.getPropertyValues( entity, entityMode );
    for ( int i=0; i<types.length; i++ ) {
      if ( !names[i].startsWith("_") ) {
        String strValue = values[i]==LazyPropertyInitializer.UNFETCHED_PROPERTY ?
          values[i].toString() :
          types[i].toLoggableString( values[i], factory );
        result.put( names[i], strValue );
      }
    }
    return cm.getEntityName() + result.toString();
  }
View Full Code Here

     */
    public String getIdName(Class entityClass) {
        Assert.notNull(entityClass);
        entityClass = ReflectUtils.getOriginalClass(entityClass);

        ClassMetadata meta = this.getSessionFactory().getClassMetadata(
                entityClass);
        Assert.notNull(meta, "Class " + entityClass
                + " not define in hibernate session factory.");

        String idName = meta.getIdentifierPropertyName();
        Assert.hasText(idName, entityClass.getSimpleName()
                + " has no identifier property define.");

        return idName;
    }
View Full Code Here

  /**
   * copy the entity state into the state array and return true if the state has changed
   */
  private boolean copyState(Object entity, Type[] types, Object[] state, SessionFactory sf) {
    ClassMetadata metadata = sf.getClassMetadata( entity.getClass() );
    Object[] newState = metadata.getPropertyValues( entity, EntityMode.POJO );
    int size = newState.length;
    boolean isDirty = false;
    for ( int index = 0; index < size ; index++ ) {
      if ( !types[index].isEqual( state[index], newState[index], EntityMode.POJO ) ) {
        isDirty = true;
View Full Code Here

TOP

Related Classes of org.hibernate.metadata.ClassMetadata

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.