Package org.hibernate.metadata

Examples of org.hibernate.metadata.ClassMetadata


    // Hibernate-specific
    public Object getPrimaryKey (Object o)
    {
        Session session = getSession();
        ClassMetadata classMeta = session.getSessionFactory().getClassMetadata(o.getClass());
        return classMeta.getIdentifier(o, EntityMode.POJO);
    }
View Full Code Here


     */

    protected <T> T getIfAlreadyLoaded(java.lang.Class<T> tClass, Object primaryKey)
    {
        SessionImpl session = (SessionImpl)getSession();
        ClassMetadata classMeta = session.getSessionFactory().getClassMetadata(tClass);
        String entityName = classMeta.getEntityName();
        EntityPersister persister = session.getFactory().getEntityPersister(entityName);
        EntityKey entityKey = new EntityKey((Serializable)primaryKey, persister, EntityMode.POJO);

        return (T)((SessionImpl)getSession()).getPersistenceContext().getEntity(entityKey);
        //  return find(tClass, primaryKey);
View Full Code Here

    }

    // fetch classmetadata for Planet
    public ClassMetadata getPlanetClassMetadata(Integer id) {
        Planet planet = (Planet) sessionFactory.openSession().get(Planet.class, id);
        ClassMetadata planetClass = sessionFactory.getClassMetadata(Planet.class);

        String[] properties = planetClass.getPropertyNames();

        for (int i = 0; i < properties.length; i++) {
            System.out.println("Properties ~" + i + "::" + properties[i]);
        }
View Full Code Here

            sat.setName("MOON");
            // /sfsb.createSatellite("MOON", new Integer(1));
            satellites1.add(sat);
            Planet s1 = sfsb.prepareData("EARTH", "MILKY WAY", "SUN", satellites1, new Integer(1));

            ClassMetadata data = sfsb.getPlanetClassMetadata(new Integer(1));
            assertNotNull(data);
            assertEquals("planetId", data.getIdentifierPropertyName());
            Map coldata = sfsb.getCollectionMetaData();
            Iterator iterator = coldata.keySet().iterator();
            String key = iterator.next().toString();
            assertEquals("org.jboss.as.test.integration.hibernate.Planet.satellites", key);
        } finally {
View Full Code Here

    }

    List<?> list = criteria.list();

    if (list.size() > 0) {
      ClassMetadata meta = session.getSessionFactory().getClassMetadata(_type);

      Object last = list.get(list.size() - 1);
      _lastId = meta.getIdentifier(last, (SessionImpl) session);
    }

    return list;
  }
View Full Code Here

    Session session = getCurrentSession(factory);

    String entityName = _entityNames.find(entity.getClass());

    ClassMetadata meta = factory.getClassMetadata(entityName);

    Class<?> type = meta.getMappedClass();

    Serializable id = meta.getIdentifier(entity, (SessionImpl) session);
    Long version = toLongVersion(meta.getVersion(entity));

    return new ObjectKey(type, id, version);
  }
View Full Code Here

    if (null != sessionFactory && entityTypes.isEmpty()) {
      StopWatch watch = new StopWatch();
      watch.start();
      Map<String, ClassMetadata> classMetadatas = sessionFactory.getAllClassMetadata();
      for (Iterator<ClassMetadata> iter = classMetadatas.values().iterator(); iter.hasNext();) {
        ClassMetadata cm = (ClassMetadata) iter.next();
        buildEntityType(sessionFactory, cm.getEntityName());
      }
      logger.info("Find {} entities,{} collections from hibernate in {} ms", new Object[] {
          entityTypes.size(), collectionTypes.size(), watch.getTime() });
      if (logger.isDebugEnabled()) {
        loggerTypeInfo();
View Full Code Here

   * @return
   */
  private EntityType buildEntityType(SessionFactory sessionFactory, String entityName) {
    EntityType entityType = (EntityType) entityTypes.get(entityName);
    if (null == entityType) {
      ClassMetadata cm = sessionFactory.getClassMetadata(entityName);
      if (null == cm) {
        logger.error("Cannot find ClassMetadata for {}", entityName);
        return null;
      }
      entityType = new EntityType();
      entityType.setEntityName(cm.getEntityName());
      entityType.setIdPropertyName(cm.getIdentifierPropertyName());
      entityType.setEntityClass(cm.getMappedClass(EntityMode.POJO));
      entityTypes.put(cm.getEntityName(), entityType);

      Map<String, Type> propertyTypes = entityType.getPropertyTypes();
      String[] ps = cm.getPropertyNames();
      for (int i = 0; i < ps.length; i++) {
        org.hibernate.type.Type type = cm.getPropertyType(ps[i]);
        if (type.isEntityType()) {
          propertyTypes.put(ps[i], buildEntityType(sessionFactory, type.getName()));
        } else if (type.isComponentType()) {
          propertyTypes.put(ps[i], buildComponentType(sessionFactory, entityName, ps[i]));
        } else if (type.isCollectionType()) {
View Full Code Here

    if (null != entityType) {
      Type propertyType = (Type) entityType.getPropertyTypes().get(propertyName);
      if (null != propertyType) { return (ComponentType) propertyType; }
    }

    ClassMetadata cm = sessionFactory.getClassMetadata(entityName);
    org.hibernate.type.ComponentType hcType = (org.hibernate.type.ComponentType) cm
        .getPropertyType(propertyName);
    String[] propertyNames = hcType.getPropertyNames();

    ComponentType cType = new ComponentType(hcType.getReturnedClass());
    Map<String, Type> propertyTypes = cType.getPropertyTypes();
    for (int j = 0; j < propertyNames.length; j++) {
      org.hibernate.type.Type type = cm
          .getPropertyType(propertyName + "." + propertyNames[j]);
      if (type.isEntityType()) {
        propertyTypes
            .put(propertyNames[j], buildEntityType(sessionFactory, type.getName()));
      } else if (type.isComponentType()) {
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

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.