/* * Hibernate OGM, Domain model persistence for NoSQL datastores * * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.ogm.jpa.impl; import javax.persistence.EntityManager; import javax.persistence.TypedQuery; import org.hibernate.jpa.HibernateQuery; import org.hibernate.jpa.internal.QueryImpl; import org.hibernate.jpa.spi.AbstractEntityManagerImpl; /** * Hibernate OGM implementation of both {@link HibernateQuery} and {@link TypedQuery} * * @author Davide D'Alto <davide@hibernate.org> */ public class OgmJpaQuery<X> extends QueryImpl<X> implements HibernateQuery, TypedQuery<X> { public OgmJpaQuery(org.hibernate.Query query, EntityManager em) { super( query, convert( em ) ); } private static AbstractEntityManagerImpl convert(EntityManager em) { if ( AbstractEntityManagerImpl.class.isInstance( em ) ) { return (AbstractEntityManagerImpl) em; } throw new IllegalStateException( String.format( "Unknown entity manager type [%s]", em.getClass().getName() ) ); } }