Example usage for org.hibernate.metadata ClassMetadata getIdentifier

List of usage examples for org.hibernate.metadata ClassMetadata getIdentifier

Introduction

In this page you can find the example usage for org.hibernate.metadata ClassMetadata getIdentifier.

Prototype

@Deprecated
@SuppressWarnings({ "JavaDoc" })
Serializable getIdentifier(Object object) throws HibernateException;

Source Link

Document

Get the identifier of an instance (throw an exception if no identifier property)

Usage

From source file:org.openspaces.persistency.hibernate.CriteriaHibernateExternalDataSource.java

License:Open Source License

/**
 * Return pojo identifier/*ww w . j a  va  2s  .com*/
 */
protected Object getId(Object template) {
    Object id = null;

    ClassMetadata classMetaData = getMetadata(template);

    if (classMetaData == null) //Unexpected class entity
        return null;

    if (template instanceof IGSEntry) {
        id = ((IGSEntry) template).getFieldValue(classMetaData.getIdentifierPropertyName());
    } else {
        id = classMetaData.getIdentifier(template);
    }

    return id;
}

From source file:org.openspaces.persistency.hibernate.StatelessHibernateExternalDataSource.java

License:Open Source License

protected boolean exists(BulkItem bulkItem, StatelessSession session) {

    Criteria criteria = null;//from   w  w  w .  j a va  2  s.  c  om
    switch (bulkItem.getOperation()) {
    case BulkItem.REMOVE:
    case BulkItem.WRITE:
    case BulkItem.UPDATE:
        Object entry = bulkItem.getItem();
        criteria = session.createCriteria(entry.getClass().getName());
        ClassMetadata classMetaData = getSessionFactory().getClassMetadata(entry.getClass());
        criteria.add(Restrictions.idEq(classMetaData.getIdentifier(entry)));
        criteria.setProjection(Projections.rowCount());
        return ((Number) criteria.uniqueResult()).intValue() > 0;
    case BulkItem.PARTIAL_UPDATE:
        criteria = session.createCriteria(bulkItem.getTypeName());
        criteria.add(Restrictions.idEq(bulkItem.getIdPropertyValue()));
        criteria.setProjection(Projections.rowCount());
        return ((Number) criteria.uniqueResult()).intValue() > 0;
    default:
        return false;
    }
}

From source file:org.openspaces.persistency.hibernate.StatelessHibernateSpaceSynchronizationEndpoint.java

License:Open Source License

private boolean exists(DataSyncOperation dataSyncOperation, StatelessSession session) {

    Criteria criteria = null;/*  w w w . j  av  a  2  s  .c om*/
    switch (dataSyncOperation.getDataSyncOperationType()) {
    case REMOVE:
    case WRITE:
    case UPDATE:
        if (!dataSyncOperation.supportsDataAsObject())
            return false;
        Object entry = dataSyncOperation.getDataAsObject();
        criteria = session.createCriteria(entry.getClass().getName());
        ClassMetadata classMetaData = getSessionFactory().getClassMetadata(entry.getClass());
        criteria.add(Restrictions.idEq(classMetaData.getIdentifier(entry)));
        criteria.setProjection(Projections.rowCount());
        return ((Number) criteria.uniqueResult()).intValue() > 0;
    case PARTIAL_UPDATE:
        if (!dataSyncOperation.supportsGetTypeDescriptor())
            return false;
        SpaceTypeDescriptor typeDescriptor = dataSyncOperation.getTypeDescriptor();
        criteria = session.createCriteria(typeDescriptor.getTypeName());
        criteria.add(Restrictions.idEq(typeDescriptor.getIdPropertyName()));
        criteria.setProjection(Projections.rowCount());
        return ((Number) criteria.uniqueResult()).intValue() > 0;
    default:
        return false;
    }
}

From source file:org.sakaiproject.genericdao.hibernate.HibernateGenericDao.java

License:Apache License

/**
 * Use hibernate metadata to get the id value
 *///from   w  w  w. j  av a  2  s  .  c o m
protected Serializable baseGetIdValue(Object object) {
    Class<?> type = findClass(object);
    Serializable idValue = null;
    ClassMetadata classmeta = getSessionFactory().getClassMetadata(type);
    if (classmeta != null) {
        if (classmeta.hasIdentifierProperty()) {
            idValue = classmeta.getIdentifier(object);
        }
    } else {
        throw new IllegalArgumentException(
                "Could not get classmetadata for this object, it may not be persistent: " + object);
    }
    return idValue;
}