Example usage for org.hibernate.loader.custom ScalarReturn getType

List of usage examples for org.hibernate.loader.custom ScalarReturn getType

Introduction

In this page you can find the example usage for org.hibernate.loader.custom ScalarReturn getType.

Prototype

public Type getType() 

Source Link

Usage

From source file:org.conventionsframework.dao.impl.BaseHibernateDaoImpl.java

License:Apache License

/**
 *
 * @param nativeQuery//  ww  w  .j  av a 2  s  . c o m
 * @param params
 * @param class entity to be queried, if no entity is passed persistentClass
 * will be used
 * @param result transformer
 * @param Scalar
 * @return
 */
@Override
public List findByNativeQuery(String nativeQuery, Map params, Class entity, ResultTransformer rt,
        ScalarReturn scalar) {
    SQLQuery query = getSession().createSQLQuery(nativeQuery);
    if (scalar != null) {
        query.addScalar(scalar.getColumnAlias(), scalar.getType());
    }
    if (rt != null) {
        query.setResultTransformer(rt);
    }
    if (entity != null) {
        query.addEntity(entity);
    } else {
        query.addEntity(getPersistentClass());
    }

    Set<Map.Entry> rawParameters = params.entrySet();
    for (Map.Entry entry : rawParameters) {
        query.setParameter(entry.getKey().toString(), entry.getValue());
    }
    return query.list();
}