Package org.springframework.orm.jpa

# Interface EntityManagerProxy

All Superinterfaces:
  `EntityManager`

public interface EntityManagerProxy extends EntityManager
Subinterface of `EntityManager` to be implemented by EntityManager proxies. Allows access to the underlying target EntityManager.

This interface is mainly intended for framework usage. Application code should prefer the use of the `EntityManager.getDelegate()` method to access native functionality of the underlying resource.

Since:
  2.5
Author:
  Juergen Hoeller

## Method Summary

Modifier and Type
Method
Description
`EntityManager`
`getTargetEntityManager()`
Return the underlying EntityManager that this proxy will delegate to.

### Methods inherited from interface jakarta.persistence.EntityManager

`clear, close, contains, createEntityGraph, createEntityGraph, createNamedQuery, createNamedQuery, createNamedStoredProcedureQuery, createNativeQuery, createNativeQuery, createNativeQuery, createQuery, createQuery, createQuery, createQuery, createQuery, createStoredProcedureQuery, createStoredProcedureQuery, createStoredProcedureQuery, detach, find, find, find, find, flush, getCriteriaBuilder, getDelegate, getEntityGraph, getEntityGraphs, getEntityManagerFactory, getFlushMode, getLockMode, getMetamodel, getProperties, getReference, getTransaction, isJoinedToTransaction, isOpen, joinTransaction, lock, lock, merge, persist, refresh, refresh, refresh, refresh, remove, setFlushMode, setProperty, unwrap`

## Method Details

### getTargetEntityManager

EntityManager getTargetEntityManager() throws IllegalStateException
Return the underlying EntityManager that this proxy will delegate to.

In case of an extended EntityManager, this will be the associated raw EntityManager.

In case of a shared ("transactional") EntityManager, this will be the raw EntityManager that is currently associated with the transaction. Outside a transaction, an IllegalStateException will be thrown.

Returns:
  the underlying raw EntityManager (never `null`)
Throws:
  `IllegalStateException` - if no underlying EntityManager is available