package javax.persistence; import java.util.Map; import javax.persistence.EntityManagerFactory; import javax.persistence.EntityTransaction; import javax.persistence.FlushModeType; import javax.persistence.LockModeType; import javax.persistence.Query; import javax.persistence.TypedQuery; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.metamodel.Metamodel; public interface EntityManager { Query createQuery( String arg0 ); void close(); void clear(); boolean contains( Object arg0 ); Query createNamedQuery( String arg0 ); <T> TypedQuery<T> createNamedQuery( String arg0, Class<T> arg1 ); Query createNativeQuery( String arg0 ); Query createNativeQuery( String arg0, @SuppressWarnings( "rawtypes" ) Class arg1 ); Query createNativeQuery( String arg0, String arg1 ); <T> TypedQuery<T> createQuery( CriteriaQuery<T> arg0 ); <T> TypedQuery<T> createQuery( String arg0, Class<T> arg1 ); void detach( Object arg0 ); <T> T find( Class<T> arg0, Object arg1 ); <T> T find( Class<T> arg0, Object arg1, Map<String, Object> arg2 ); <T> T find( Class<T> arg0, Object arg1, LockModeType arg2 ); <T> T find( Class<T> arg0, Object arg1, LockModeType arg2, Map<String, Object> arg3 ); void flush(); CriteriaBuilder getCriteriaBuilder(); Object getDelegate(); EntityManagerFactory getEntityManagerFactory(); FlushModeType getFlushMode(); LockModeType getLockMode( Object arg0 ); Metamodel getMetamodel(); Map<String, Object> getProperties(); <T> T getReference( Class<T> arg0, Object arg1 ); EntityTransaction getTransaction(); boolean isOpen(); void joinTransaction(); void lock( Object arg0, LockModeType arg1 ); void lock( Object arg0, LockModeType arg1, Map<String, Object> arg2 ); <T> T merge( T arg0 ); void persist( Object arg0 ); void refresh( Object arg0 ); void refresh( Object arg0, Map<String, Object> arg1 ); void refresh( Object arg0, LockModeType arg1 ); void refresh( Object arg0, LockModeType arg1, Map<String, Object> arg2 ); void remove( Object arg0 ); void setFlushMode( FlushModeType arg0 ); void setProperty( String arg0, Object arg1 ); <T> T unwrap( Class<T> arg0 ); }