All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.openjpa.persistence.OpenJPAEntityManager Maven / Gradle / Ivy

/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.    
 */
package org.apache.openjpa.persistence;

import java.util.Collection;
import java.util.EnumSet;
import java.util.Set;

import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.LockModeType;
import javax.persistence.Query;

import org.apache.openjpa.event.CallbackModes;
import org.apache.openjpa.kernel.AutoClear;
import org.apache.openjpa.kernel.AutoDetach;
import org.apache.openjpa.kernel.ConnectionRetainModes;
import org.apache.openjpa.kernel.DetachState;
import org.apache.openjpa.kernel.RestoreState;
import org.apache.openjpa.persistence.criteria.OpenJPACriteriaBuilder;
import org.apache.openjpa.persistence.query.QueryDefinition;

/**
 * Interface implemented by OpenJPA entity managers.
 *
 * This interface extends {@link EntityTransaction}, but this extension is
 * deprecated.
 *
 * @since 0.4.0
 * @author Abe White
 * @published
 */
public interface OpenJPAEntityManager
    extends EntityManager, EntityTransaction /* deprecated */ {

    /**
     * Return the factory that produced this entity manager.
     */
    public OpenJPAEntityManagerFactory getEntityManagerFactory();

    /**
     * Return the (mutable) fetch plan for loading objects from this
     * entity manager.
     */
    public FetchPlan getFetchPlan();

    /**
     * Pushes a new fetch plan that inherits from the current fetch plan onto
     * a stack, and makes the new plan the active one.
     *
     * @since 1.1.0
     * @return the new fetch plan
     */
    public FetchPlan pushFetchPlan();

    /**
     * Pops the fetch plan from the top of the stack, making the next one down
     * the active one. This returns void to avoid confusion, since fetch plans
     * tend to be used in method-chaining patterns often.
     *
     * @since 1.1.0
     */
    public void popFetchPlan();

    /**
     * Return the connection retain mode for this entity manager.
     */
    public ConnectionRetainMode getConnectionRetainMode();

    /**
     * Whether this entity manager is using managed transactions.
     *
     * @since 1.1.0
     */
    public boolean isTransactionManaged();

    /**
     * @deprecated use {@link #isTransactionManaged} instead to interrogate
     * whether or not this EntityManager's transaction is managed. To determine
     * if a given entity instance is managed, use {@link #contains}.
     */
    public boolean isManaged();

    /**
     * Whether to check for a global transaction upon every managed,
     * non-transactional operation. Defaults to false.
     */
    public boolean getSyncWithManagedTransactions();

    /**
     * Whether to check for a global transaction upon every managed,
     * non-transactional operation. Defaults to false.
     */
    public void setSyncWithManagedTransactions(boolean resync);

    /**
     * Return the current thread's class loader at the time this entity
     * manager was obtained from the factory.
     */
    public ClassLoader getClassLoader();

    /**
     * Return the connection user name.
     */
    public String getConnectionUserName();

    /**
     * Return the connection password.
     */
    public String getConnectionPassword();

    /**
     * Whether the entity manager or its managed instances are used in a
     * multithreaded environment.
     */
    public boolean getMultithreaded();

    /**
     * Whether the entity manager or its managed instances are used in a
     * multithreaded environment.
     */
    public void setMultithreaded(boolean multi);

    /**
     * Whether to take into account changes in the transaction when executing
     * a query or iterating an extent.
     */
    public boolean getIgnoreChanges();

    /**
     * Whether to take into account changes in the transaction when executing
     * a query or iterating an extent.
     */
    public void setIgnoreChanges(boolean ignore);

    /**
     * Whether to allow nontransactional access to persistent state.
     */
    public boolean getNontransactionalRead();

    /**
     * Whether to allow nontransactional access to persistent state.
     */
    public void setNontransactionalRead(boolean read);

    /**
     * Whether to allow nontransactional changes to persistent state.
     */
    public boolean getNontransactionalWrite();

    /**
     * Whether to allow nontransactional changes to persistent state.
     */
    public void setNontransactionalWrite(boolean write);

    /**
     * Whether to use optimistic transactional semantics.
     */
    public boolean getOptimistic();

    /**
     * Whether to use optimistic transactional semantics.
     */
    public void setOptimistic(boolean opt);

    /**
     * Whether to restore an object's original state on rollback.
     */
    public RestoreStateType getRestoreState();

    /**
     * Whether to restore an object's original state on rollback.
     */
    public void setRestoreState(RestoreStateType restoreType);

    /**
     * Whether objects retain their persistent state on transaction commit.
     */
    public boolean getRetainState();

    /**
     * Whether objects retain their persistent state on transaction commit.
     */
    public void setRetainState(boolean retain);

    /**
     * Detach mode constant to determine which fields are part of the
     * detached graph.
     */
    public DetachStateType getDetachState();

    /**
     * Detach mode constant to determine which fields are part of the
     * detached graph.
     */
    public void setDetachState(DetachStateType type);

    /**
     * Whether to clear state when entering a transaction.
     */
    public AutoClearType getAutoClear();

    /**
     * Whether to clear state when entering a transaction.
     */
    public void setAutoClear(AutoClearType clearType);

    /**
     * {@link AutoDetachType} values which indicate when persistent
     * managed objects should be automatically detached in-place.
     */
    public EnumSet getAutoDetach();

    /**
     * {@link AutoDetachType} values which indicate when persistent
     * managed objects should be automatically detached in-place.
     * The current value is replaced in its entirety.
     */
    public void setAutoDetach(AutoDetachType value);

    /**
     * {@link AutoDetachType} values which indicate when persistent
     * managed objects should be automatically detached in-place.
     * The current value is replaced in its entirety.
     */
    public void setAutoDetach(EnumSet values);

    /**
     * Bit flags marked in {@link AutoDetachType} which indicate when persistent
     * managed objects should be automatically detached in-place.
     *
     * @since 1.1.0
     */
    public void setAutoDetach(AutoDetachType value, boolean on);

    /**
     * Whether to also evict an object from the store cache when it is
     * evicted through this entity manager.
     */
    public boolean getEvictFromStoreCache();

    /**
     * Whether to also evict an object from the store cache when it is
     * evicted through this entity manager.
     */
    public void setEvictFromStoreCache(boolean evict);

    /**
     * Whether objects accessed during this transaction will be added to the
     * store cache. Defaults to true.
     *
     * @since 0.3.4
     */
    public boolean getPopulateStoreCache();

    /**
     * Whether to populate the store cache with objects used by this
     * transaction. Defaults to true.
     *
     * @since 0.3.4
     */
    public void setPopulateStoreCache(boolean cache);

    /**
     * Whether memory usage is reduced during this transaction at the expense
     * of tracking changes at the type level instead of the instance level,
     * resulting in more aggressive cache invalidation.
     *
     * @since 1.0.0
     */
    public boolean isTrackChangesByType();

    /**
     * If a large number of objects will be created, modified, or deleted
     * during this transaction setting this option to true will reduce memory
     * usage if you perform periodic flushes by tracking changes at the type
     * level instead of the instance level, resulting in more aggressive cache
     * invalidation.
     *
     * @since 1.0.0
     */
    public void setTrackChangesByType(boolean track);

    /**
     * Put the specified key-value pair into the map of user objects. Use
     * a value of null to remove the key.
     */
    public Object putUserObject(Object key, Object val);

    /**
     * Get the value for the specified key from the map of user objects.
     */
    public Object getUserObject(Object key);

    ///////////
    // Lookups
    ///////////

    /**
     * Return the objects with the given oids.
     *
     * @param oids the oids of the objects to return
     * @return the objects that were looked up, in the
     * same order as the oids parameter.
     * @see #find(Class,Object)
     */
    public  T[] findAll(Class cls, Object... oids);

    /**
     * Return the objects with the given oids.
     *
     * @param oids the oids of the objects to return
     * @return the objects that were looked up, in the
     * same order as the oids parameter.
     * @see #find(Class,Object)
     */
    public  Collection findAll(Class cls, Collection oids);

    /**
     * Return the cached instance for the given oid/object, or null if not
     * cached.
     *
     * @param oid the object's id
     * @return the cached object, or null if not cached
     */
    public  T findCached(Class cls, Object oid);

    /**
     * Return the application identity class the given persistent class uses
     * for object ids, or null if not a type that uses application identity.
     */
    public Class getObjectIdClass(Class pcClass);

    ////////////////
    // Transactions
    ////////////////

    public OpenJPAEntityTransaction getTransaction();

    /**
     * Set a transactional savepoint where operations after this savepoint
     * will be rolled back.
     */
    public void setSavepoint(String name);

    /**
     * Rollback the current transaction to the last savepoint.
     * Savepoints set after this one will become invalid.
     */
    public void rollbackToSavepoint();

    /**
     * Rollback the current transaction to the given savepoint name.
     * Savepoints set after this one will become invalid.
     */
    public void rollbackToSavepoint(String name);

    /**
     * Release the last set savepoint and any resources associated with it.
     * The given savepoint and any set after it will become invalid.
     */
    public void releaseSavepoint();

    /**
     * Release the savepoint and any resources associated with it.
     * The given savepoint and any set after it will become invalid.
     */
    public void releaseSavepoint(String name);

    /**
     * Run pre-flush actions on transactional objects, including
     * persistence-by-reachability, inverse relationship management,
     * deletion of dependent instances, and instance callbacks.
     * Transaction listeners are not invoked.
     *
     * @since 0.3.3
     */
    public void preFlush();

    /**
     * Validate the changes made in this transaction, reporting any optimistic
     * violations, constraint violations, etc. In a datastore transaction or
     * a flushed optimistic transaction, this method will act just like
     * {@link #flush()}. In an optimistic transaction that has not yet begun a
     * datastore-level transaction, however, it will only report exceptions
     * that would occur on flush, without retaining any datastore resources.
     */
    public void validateChanges();

    /**
     * Whether a store transaction is active.
     */
    public boolean isStoreActive();

    /**
     * Begins a store transaction if one isn't already started. The
     * entity manager must already be in a logical transaction.
     */
    public void beginStore();

    ////////////////////
    // Object Lifecycle
    ////////////////////

    /**
     * Whether the given objects are managed.
     */
    public boolean containsAll(Object... pcs);

    /**
     * Whether the given objects are managed.
     */
    public boolean containsAll(Collection pcs);

    /**
     * Persist the given objects.
     */
    public void persistAll(Object... pcs);

    /**
     * Persist the given objects.
     */
    public void persistAll(Collection pcs);

    /**
     * Delete the given persistent objects.
     */
    public void removeAll(Object... pcs);

    /**
     * Delete the given persistent objects.
     */
    public void removeAll(Collection pcs);

    /**
     * Release the given object from management. This operation is not
     * recursive.
     */
    public void release(Object pc);

    /**
     * Release the given object from management. This operation is not
     * recursive.
     */
    public void releaseAll(Object... pcs);

    /**
     * Release the given objects from management. This operation is not
     * recursive.
     */
    public void releaseAll(Collection pcs);

    /**
     * Immediately load the given object's persistent fields. One might
     * use this action to make sure that an instance's fields are loaded
     * before transitioning it to transient. Note that this action is not
     * recursive. Any related objects that are loaded will not necessarily
     * have their fields loaded.
     */
    public void retrieve(Object pc);

    /**
     * Retrieve the persistent state of the given objects.
     *
     * @see #retrieve
     */
    public void retrieveAll(Object... pcs);

    /**
     * Retrieve the persistent state of the given objects.
     *
     * @see #retrieve
     */
    public void retrieveAll(Collection pcs);

    /**
     * Refresh the state of the given objects.
     */
    public void refreshAll(Object... pcs);

    /**
     * Refresh the state of the given objects.
     */
    public void refreshAll(Collection pcs);

    /**
     * Refresh all transactional objects.
     */
    public void refreshAll();

    /**
     * 

Evict the given object.

*

Eviction acts as a hint to the persistence provider, and indicates that the persistent object is no longer * needed by the application and may be garbage collected. It does not remove the object from the L1 cache and only * affects objects which are managed and unmodified. *

* @param pc A persistent class which will be evicted */ public void evict(Object pc); /** *

Evict the given objects.

*

Eviction acts as a hint to the persistence provider, and indicates that the persistent object is no longer * needed by the application and may be garbage collected. It does not remove the object from the L1 cache and only * affects objects which are managed and unmodified. *

* @param pcs The persistent classes which will be evicted */ public void evictAll(Object... pcs); /** *

Evict the given objects.

*

Eviction acts as a hint to the persistence provider, and indicates that the persistent object is no longer * needed by the application and may be garbage collected. It does not remove the object from the L1 cache and only * affects objects which are managed and unmodified. *

* @param pcs A collection of persistent classes which will be evicted. */ public void evictAll(Collection pcs); /** *

Evict all clean objects.

*

Eviction acts as a hint to the persistence provider, and indicates that the persistent object is no longer * needed by the application and may be garbage collected. It does not remove the object from the L1 cache and only * affects objects which are managed and unmodified. *

*/ public void evictAll(); /** *

Evict all persistent-clean and persistent-nontransactional * instances in the extent of the given class (including subclasses).

*

Eviction acts as a hint to the persistence provider, and indicates that the persistent object is no longer * needed by the application and may be garbage collected. It does not remove the object from the L1 cache and only * affects objects which are managed and unmodified. *

* @param cls All clean instances of this class will be evicted. */ public void evictAll(Class cls); /** *

Evict all persistent-clean and persistent-nontransactional * instances in the given {@link Extent}.

*

Eviction acts as a hint to the persistence provider, and indicates that the persistent object is no longer * needed by the application and may be garbage collected. It does not remove the object from the L1 cache and only * affects objects which are managed and unmodified. *

* @param extent Extend which contains the persistent classes to evict. */ public void evictAll(Extent extent); /** * Detach the specified object from the entity manager, detaching based on * the AutoDetach value specified and returning a copy of the detached * entity. * * @param pc the instance to detach * @return the detached instance * * @since 2.0.0 * * Note: This method provides the same contract as the detach method with * signature: public T detach(T pc) available in the 1.x release of * OpenJPA. The JPA 2.0 specification defined a method with an incompatible * signature and different semantics. The specification defined method * trumped the existing method. */ public T detachCopy(T pc); /** * Detach the specified objects from the entity manager. * * @param pcs the instances to detach * @return the detached instances */ public Collection detachAll(Collection pcs); /** * Detach the specified objects from the entity manager. * * @param pcs the instances to detach * @return the detached instances */ public Object[] detachAll(Object... pcs); /** * Merge the specified objects into the entity manager. * * @param pcs instances to import * @return the re-attached instances */ public Object[] mergeAll(Object... pcs); /** * Merge the specified detached objects into the entity manager. * * @param pcs Collection of instances to import * @return the re-attached instances */ public Collection mergeAll(Collection pcs); /** * Make the given object transactional. * * @param pc instance to make transactional * @param updateVersion if true, the instance's version will be * incremented at the next flush */ public void transactional(Object pc, boolean updateVersion); /** * Make the given objects transactional. * * @param objs instances to make transactional * @param updateVersion if true, the instance's version will be * incremented at the next flush */ public void transactionalAll(Collection objs, boolean updateVersion); /** * Make the given objects transactional. * * @param objs instances to make transactional * @param updateVersion if true, the instance's version will be * incremented at the next flush */ public void transactionalAll(Object[] objs, boolean updateVersion); /** * Make the given object nontransactional. */ public void nontransactional(Object pc); /** * Make the given objects nontransactional. */ public void nontransactionalAll(Collection objs); /** * Make the given objects nontransactional. */ public void nontransactionalAll(Object[] objs); //////////////////////////// // Extent, Query, Generator //////////////////////////// /** * Return the named generator defined in the metadata. */ public Generator getNamedGenerator(String name); /** * Returns a {@link Generator} for the datastore identity values of the * specified type, or null if the type is unmanaged or its identity * cannot be represented by a sequence. */ public Generator getIdGenerator(Class forClass); /** * Returns a {@link Generator} for the generated values of the specified * type, or null if the field is not generated. */ public Generator getFieldGenerator(Class forClass, String fieldName); /** * Return an extent of the given class, optionally including subclasses. */ public Extent createExtent(Class cls, boolean subs); public OpenJPAQuery createQuery(String query); public OpenJPAQuery createNamedQuery(String name); public OpenJPAQuery createNativeQuery(String sql); public OpenJPAQuery createNativeQuery(String sql, Class resultClass); public OpenJPAQuery createNativeQuery(String sql, String resultMapping); /** * Create a new query from the given one. */ public OpenJPAQuery createQuery(Query query); /** * Create a new query in the given language. */ public OpenJPAQuery createQuery(String language, String query); /** * Create an executable query from a dynamically defined query. * * @since 2.0.0 */ public OpenJPAQuery createDynamicQuery(QueryDefinition dynamic); /////////// // Locking /////////// /** * Return the lock mode of the given instance, or null if not locked. */ public LockModeType getLockMode(Object pc); /** * Ensure that the given instance is locked at the given lock level. * * @param pc the object to lock * @param mode the lock level to use * @param timeout the number of milliseconds to wait for the lock before * giving up, or -1 for no limit */ public void lock(Object pc, LockModeType mode, int timeout); /** * Ensure that the given instance is locked at the current lock level, as * set in the {@link FetchPlan} for the entity manager. */ public void lock(Object pc); /** * Ensure that the given instances are locked at the given lock level. * * @param pcs the objects to lock * @param mode the lock level to use * @param timeout the number of milliseconds to wait for the lock before * giving up, or -1 for no limit */ public void lockAll(Collection pcs, LockModeType mode, int timeout); /** * Ensure that the given instances are locked at the current lock level, * as set in the {@link FetchPlan} for the entity manager. */ public void lockAll(Collection pcs); /** * Ensure that the given instances are locked at the given lock level. * * @param pcs the objects to lock * @param mode the lock level to use * @param timeout the number of milliseconds to wait for the lock before * giving up, or -1 for no limit */ public void lockAll(Object[] pcs, LockModeType mode, int timeout); /** * Ensure that the given instances are locked at the current lock level, * as set in the {@link FetchPlan} for the entity manager. */ public void lockAll(Object... pcs); ////////////// // Connection ////////////// /** * Cancel all pending data store statements. If statements are cancelled * while a flush is in progress, the transaction rollback only flag will * be set. * * @return true if any statements were cancelled, false otherwise */ public boolean cancelAll(); /** * Return the connection in use by the entity manager, or a new * connection if none. */ public Object getConnection(); ///////// // Cache ///////// /** * Return a set of all managed instances. */ public Collection getManagedObjects(); /** * Return a set of current transaction instances. */ public Collection getTransactionalObjects(); /** * Return a set of instances which will become transactional upon * the next transaction. */ public Collection getPendingTransactionalObjects(); /** * Return a set of current dirty instances. */ public Collection getDirtyObjects(); /** * Whether dirty objects will be returned in the order they were dirtied. * Default is determined by the store manager. */ public boolean getOrderDirtyObjects(); /** * Whether dirty objects will be returned in the order they were dirtied. * Default is determined by the store manager. */ public void setOrderDirtyObjects(boolean order); /** * Mark the given class as dirty within the current transaction. */ public void dirtyClass(Class cls); /** * Return the set of classes that have been made persistent in the current * transaction. */ public Collection getPersistedClasses(); /** * Return the set of classes that have been deleted in the current * transaction. */ public Collection getRemovedClasses(); /** * Return the set of classes for objects that have been modified * in the current transaction. */ public Collection getUpdatedClasses(); /** * Create a new instance of type cls. If cls is * an interface or an abstract class whose abstract methods follow the * JavaBeans convention, this method will create a concrete implementation * according to the metadata that defines the class. If cls * is a non-final concrete type that has metadata but does not implement * {@link org.apache.openjpa.enhance.PersistenceCapable}, this method will * create a subclass of the type that does implement * {@link org.apache.openjpa.enhance.PersistenceCapable}, and will attempt * to redefine the methods in cls to enable persistent * attribute tracking. Otherwise, if cls is a managed type, * this will return an instance of the specified class. * * @throws IllegalArgumentException if cls is not a managed * type or interface. */ public T createInstance(Class cls); /** * Make the named field of the given object dirty. */ public void dirty(Object o, String field); /** * Return the oid of the given instance. */ public Object getObjectId(Object o); /** * Return whether the given object is dirty. */ public boolean isDirty(Object o); /** * Return whether the given object is transactional. */ public boolean isTransactional(Object o); /** * Return whether the given object is persistent. */ public boolean isPersistent(Object o); /** * Return whether the given object was made persistent in the current * transaction. */ public boolean isNewlyPersistent(Object o); /** * Return whether the given object is deleted. */ public boolean isRemoved(Object o); /** * Returns true if pc is a detached object * (one that can be reattached to a {@link EntityManager} via a call * to {@link EntityManager#merge}); otherwise returns * false. */ public boolean isDetached (Object o); /** * Returns the current version indicator for o. */ public Object getVersion (Object o); /** * @deprecated use the {@link ConnectionRetainMode} enum instead. */ public static final int CONN_RETAIN_DEMAND = ConnectionRetainModes.CONN_RETAIN_DEMAND; /** * @deprecated use the {@link ConnectionRetainMode} enum instead. */ public static final int CONN_RETAIN_TRANS = ConnectionRetainModes.CONN_RETAIN_TRANS; /** * @deprecated use the {@link ConnectionRetainMode} enum instead. */ public static final int CONN_RETAIN_ALWAYS = ConnectionRetainModes.CONN_RETAIN_ALWAYS; /** * @deprecated use the {@link DetachStateType} enum instead. */ public static final int DETACH_FETCH_GROUPS = DetachState.DETACH_FETCH_GROUPS; /** * @deprecated use the {@link DetachStateType} enum instead. */ public static final int DETACH_FGS = DetachState.DETACH_FGS; /** * @deprecated use the {@link DetachStateType} enum instead. */ public static final int DETACH_LOADED = DetachState.DETACH_LOADED; /** * @deprecated use the {@link DetachStateType} enum instead. */ public static final int DETACH_ALL = DetachState.DETACH_ALL; /** * @deprecated use the {@link RestoreStateType} enum instead. */ public static final int RESTORE_NONE = RestoreState.RESTORE_NONE; /** * @deprecated use the {@link RestoreStateType} enum instead. */ public static final int RESTORE_IMMUTABLE = RestoreState.RESTORE_IMMUTABLE; /** * @deprecated use the {@link RestoreStateType} enum instead. */ public static final int RESTORE_ALL = RestoreState.RESTORE_ALL; /** * @deprecated use the {@link AutoDetachType} enum instead. */ public static final int DETACH_CLOSE = AutoDetach.DETACH_CLOSE; /** * @deprecated use the {@link AutoDetachType} enum instead. */ public static final int DETACH_COMMIT = AutoDetach.DETACH_COMMIT; /** * @deprecated use the {@link AutoDetachType} enum instead. */ public static final int DETACH_NONTXREAD = AutoDetach.DETACH_NONTXREAD; /** * @deprecated use the {@link AutoDetachType} enum instead. */ public static final int DETACH_ROLLBACK = AutoDetach.DETACH_ROLLBACK; /** * @deprecated use the {@link AutoClearType} enum instead. */ public static final int CLEAR_DATASTORE = AutoClear.CLEAR_DATASTORE; /** * @deprecated use the {@link AutoClearType} enum instead. */ public static final int CLEAR_ALL = AutoClear.CLEAR_ALL; /** * @deprecated use the {@link CallbackMode} enum instead. */ public static final int CALLBACK_FAIL_FAST = CallbackModes.CALLBACK_FAIL_FAST; /** * @deprecated use the {@link CallbackMode} enum instead. */ public static final int CALLBACK_IGNORE = CallbackModes.CALLBACK_IGNORE; /** * @deprecated use the {@link CallbackMode} enum instead. */ public static final int CALLBACK_LOG = CallbackModes.CALLBACK_LOG; /** * @deprecated use the {@link CallbackMode} enum instead. */ public static final int CALLBACK_RETHROW = CallbackModes.CALLBACK_RETHROW; /** * @deprecated use the {@link CallbackMode} enum instead. */ public static final int CALLBACK_ROLLBACK = CallbackModes.CALLBACK_ROLLBACK; /** * @deprecated cast to {@link OpenJPAEntityManagerSPI} instead. This * method pierces the published-API boundary, as does the SPI cast. */ public org.apache.openjpa.conf.OpenJPAConfiguration getConfiguration(); /** * @deprecated use {@link #setRestoreState(RestoreStateType)} instead. */ public void setRestoreState(int restore); /** * @deprecated use {@link #setDetachState(DetachStateType)} instead. */ public void setDetachState(int detach); /** * @deprecated use {@link #setAutoClear(AutoClearType)} instead. */ public void setAutoClear(int autoClear); /** * @deprecated use {@link #setAutoDetach(AutoDetachType)} or * {@link #setAutoDetach(java.util.EnumSet)} instead. */ public void setAutoDetach(int autoDetachFlags); /** * @deprecated use {@link #setAutoDetach(AutoDetachType, boolean)} instead. */ public void setAutoDetach(int flag, boolean on); /** * @deprecated use {@link #isTrackChangesByType()} instead. */ public boolean isLargeTransaction(); /** * @deprecated use {@link #setTrackChangesByType(boolean)} instead. */ public void setLargeTransaction(boolean value); /** * @deprecated cast to {@link OpenJPAEntityManagerSPI} instead. This * method pierces the published-API boundary, as does the SPI cast. */ public void addTransactionListener(Object listener); /** * @deprecated cast to {@link OpenJPAEntityManagerSPI} instead. This * method pierces the published-API boundary, as does the SPI cast. */ public void removeTransactionListener(Object listener); /** * @deprecated cast to {@link OpenJPAEntityManagerSPI} instead. This * method pierces the published-API boundary, as does the SPI cast. */ public int getTransactionListenerCallbackMode(); /** * @deprecated cast to {@link OpenJPAEntityManagerSPI} instead. This * method pierces the published-API boundary, as does the SPI cast. */ public void setTransactionListenerCallbackMode(int callbackMode); /** * @deprecated cast to {@link OpenJPAEntityManagerSPI} instead. This * method pierces the published-API boundary, as does the SPI cast. */ public void addLifecycleListener(Object listener, Class... classes); /** * @deprecated cast to {@link OpenJPAEntityManagerSPI} instead. This * method pierces the published-API boundary, as does the SPI cast. */ public void removeLifecycleListener(Object listener); /** * @deprecated cast to {@link OpenJPAEntityManagerSPI} instead. This * method pierces the published-API boundary, as does the SPI cast. */ public int getLifecycleListenerCallbackMode(); /** * @deprecated cast to {@link OpenJPAEntityManagerSPI} instead. This * method pierces the published-API boundary, as does the SPI cast. */ public void setLifecycleListenerCallbackMode(int callbackMode); /** * @deprecated use {@link EntityTransaction#begin} * instead: em.getTransaction().begin() */ public void begin(); /** * @deprecated use {@link EntityTransaction#commit} * instead: em.getTransaction().commit() */ public void commit(); /** * @deprecated use {@link EntityTransaction#rollback} * instead: em.getTransaction().rollback() */ public void rollback(); /** * @deprecated use {@link EntityTransaction#isActive} * instead: em.getTransaction().isActive() */ public boolean isActive(); /** * @deprecated use {@link OpenJPAEntityTransaction#commitAndResume} instead: * em.getTransaction().commitAndResume() */ public void commitAndResume(); /** * @deprecated use {@link OpenJPAEntityTransaction#rollbackAndResume} * instead: em.getTransaction().rollbackAndResume() */ public void rollbackAndResume(); /** * @deprecated use {@link EntityTransaction#setRollbackOnly} * instead: em.getTransaction().setRollbackOnly() */ public void setRollbackOnly(); /** * @deprecated use {@link OpenJPAEntityTransaction#setRollbackOnly} * instead: em.getTransaction().setRollbackOnly() */ public void setRollbackOnly(Throwable cause); /** * @deprecated use {@link OpenJPAEntityTransaction#getRollbackCause} * instead: em.getTransaction().getRollbackCause() */ public Throwable getRollbackCause(); /** * @deprecated use {@link EntityTransaction#getRollbackOnly} * instead: em.getTransaction().getRollbackOnly() */ public boolean getRollbackOnly(); /** * Gets the QueryBuilder with OpenJPA-extended capabilities. * * @since 2.0.0 */ public OpenJPACriteriaBuilder getCriteriaBuilder(); /** * Get the properties supported by this runtime. * * @since 2.0.0 */ public Set getSupportedProperties(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy