Example usage for org.hibernate.engine.spi SessionFactoryImplementor getNamedQueryRepository

List of usage examples for org.hibernate.engine.spi SessionFactoryImplementor getNamedQueryRepository

Introduction

In this page you can find the example usage for org.hibernate.engine.spi SessionFactoryImplementor getNamedQueryRepository.

Prototype

@Deprecated
NamedQueryRepository getNamedQueryRepository();

Source Link

Document

Provides access to the named query repository

Usage

From source file:org.babyfish.hibernate.jpa.internal.XEntityManagerImpl.java

License:Open Source License

@Override
public <T> XTypedQuery<T> createNamedQuery(String name, Class<T> resultClass) {
    this.checkOpen();
    SessionFactoryImplementor sfi = this.getEntityManagerFactory().getSessionFactoryImplementor();

    // only hql/jpql query, not support native sql
    NamedQueryDefinition namedQueryDefinition = sfi.getNamedQueryRepository().getNamedQueryDefinition(name);
    if (namedQueryDefinition != null) {
        XSessionImplementor session = (XSessionImplementor) this.internalGetSession();
        org.babyfish.hibernate.XQuery query = session.createQuery(namedQueryDefinition);
        if (resultClass != null) {
            resultClassChecking(resultClass, query);
        }/*from   w w  w . j  a  v a  2  s .c om*/
        XTypedQueryImpl<T> jpaQuery = new XTypedQueryImpl<T>(query, this);
        this.applySavedSettings(namedQueryDefinition, jpaQuery);
        return jpaQuery;
    }
    throw convert(new IllegalArgumentException("No query defined for that name[" + name + "]"));
}