public interface EntityManager
EntityManager
インスタンスは永続コンテキストに関連付けられています。永続コンテキストは、永続エンティティ ID に対して一意のエンティティインスタンスが存在するエンティティインスタンスのセットです。永続コンテキスト内で、エンティティインスタンスとそのライフサイクルが管理されます。EntityManager
API は、永続エンティティインスタンスの作成と削除、プライマリキーによるエンティティの検索、エンティティのクエリに使用されます。
特定の EntityManager
インスタンスによって管理できるエンティティのセットは、永続性ユニットによって定義されます。永続性ユニットは、アプリケーションによって関連またはグループ化され、単一のデータベースへのマッピングで同じ場所に配置する必要があるすべてのクラスのセットを定義します。
Query
, TypedQuery
, CriteriaQuery
, PersistenceContext
, StoredProcedureQuery
修飾子と型 | メソッドと説明 |
---|---|
void | clear() 永続コンテキストをクリアして、すべての管理対象エンティティを切り離します。 |
void | close() アプリケーション管理エンティティマネージャーを閉じます。 |
boolean | contains(ObjectSE entity) インスタンスが、現在の永続コンテキストに属する管理対象エンティティインスタンスであるかどうかを確認します。 |
<T> EntityGraph<T> | createEntityGraph(ClassSE<T> rootType) EntityGraph を動的に作成するために使用できる可変 EntityGraph を返します。 |
EntityGraph<?> | createEntityGraph(StringSE graphName) 名前付き EntityGraph の変更可能なコピーを返します。 |
Query | createNamedQuery(StringSE name) (Jakarta Persistence クエリ言語またはネイティブ SQL で)名前付きクエリを実行するための Query のインスタンスを作成します。 |
<T> TypedQuery<T> | createNamedQuery(StringSE name, ClassSE<T> resultClass) query という名前の Jakarta Persistence クエリ言語を実行するための TypedQuery のインスタンスを作成します。 |
StoredProcedureQuery | createNamedStoredProcedureQuery(StringSE name) データベースでストアドプロシージャを実行するための StoredProcedureQuery のインスタンスを作成します。 |
Query | createNativeQuery(StringSE sqlString) 更新または削除など、ネイティブ SQL ステートメントを実行するための Query のインスタンスを作成します。 |
Query | createNativeQuery(StringSE sqlString, ClassSE resultClass) ネイティブ SQL クエリを実行するための Query のインスタンスを作成します。 |
Query | createNativeQuery(StringSE sqlString, StringSE resultSetMapping) ネイティブ SQL クエリを実行するための Query のインスタンスを作成します。 |
Query | createQuery(CriteriaDelete deleteQuery) 条件削除クエリを実行するための Query のインスタンスを作成します。 |
<T> TypedQuery<T> | createQuery(CriteriaQuery<T> criteriaQuery) 条件クエリを実行するための TypedQuery のインスタンスを作成します。 |
Query | createQuery(CriteriaUpdate updateQuery) 条件更新クエリを実行するための Query のインスタンスを作成します。 |
Query | createQuery(StringSE qlString) Jakarta Persistence クエリ言語ステートメントを実行するための Query のインスタンスを作成します。 |
<T> TypedQuery<T> | createQuery(StringSE qlString, ClassSE<T> resultClass) Jakarta Persistence クエリ言語ステートメントを実行するための TypedQuery のインスタンスを作成します。 |
StoredProcedureQuery | createStoredProcedureQuery(StringSE procedureName) データベースでストアドプロシージャを実行するための StoredProcedureQuery のインスタンスを作成します。 |
StoredProcedureQuery | createStoredProcedureQuery(StringSE procedureName, ClassSE... resultClasses) データベースでストアドプロシージャを実行するための StoredProcedureQuery のインスタンスを作成します。 |
StoredProcedureQuery | createStoredProcedureQuery(StringSE procedureName, StringSE... resultSetMappings) データベースでストアドプロシージャを実行するための StoredProcedureQuery のインスタンスを作成します。 |
void | detach(ObjectSE entity) 永続コンテキストから特定のエンティティを削除し、管理対象エンティティを切り離します。 |
<T> T | find(ClassSE<T> entityClass, ObjectSE primaryKey) 主キーで検索します。 |
<T> T | find(ClassSE<T> entityClass, ObjectSE primaryKey, LockModeType lockMode) 主キーとロックで検索します。 |
<T> T | find(ClassSE<T> entityClass, ObjectSE primaryKey, LockModeType lockMode, MapSE<StringSE, ObjectSE> properties) 指定されたプロパティを使用して、主キーとロックで検索します。 |
<T> T | find(ClassSE<T> entityClass, ObjectSE primaryKey, MapSE<StringSE, ObjectSE> properties) 指定されたプロパティを使用して、主キーで検索します。 |
void | flush() 永続コンテキストを基礎となるデータベースに同期します。 |
CriteriaBuilder | getCriteriaBuilder() CriteriaQuery オブジェクトの作成のために CriteriaBuilder のインスタンスを返します。 |
ObjectSE | getDelegate() EntityManager の基になるプロバイダーオブジェクトを返します(利用可能な場合)。 |
EntityGraph<?> | getEntityGraph(StringSE graphName) 名前付き EntityGraph を返します。 |
<T> ListSE<EntityGraph<? super T>> | getEntityGraphs(ClassSE<T> entityClass) 指定されたクラス型に対して定義されているすべての名前付き EntityGraphs を返します。 |
EntityManagerFactory | getEntityManagerFactory() エンティティマネージャーのエンティティマネージャーファクトリを返します。 |
FlushModeType | getFlushMode() 永続コンテキストに含まれるすべてのオブジェクトに適用されるフラッシュモードを取得します。 |
LockModeType | getLockMode(ObjectSE entity) エンティティインスタンスの現在のロックモードを取得します。 |
Metamodel | getMetamodel() 永続性ユニットのメタモデルにアクセスするための Metamodel インターフェースのインスタンスを返します。 |
MapSE<StringSE, ObjectSE> | getProperties() エンティティマネージャーに有効なプロパティとヒント、および関連する値を取得します。 |
<T> T | getReference(ClassSE<T> entityClass, ObjectSE primaryKey) インスタンスを取得します。インスタンスの状態は遅延フェッチされます。 |
EntityTransaction | getTransaction() リソースレベルの EntityTransaction オブジェクトを返します。 |
boolean | isJoinedToTransaction() エンティティマネージャーが現在のトランザクションに参加しているかどうかを判断します。 |
boolean | isOpen() エンティティマネージャーが開いているかどうかを確認します。 |
void | joinTransaction() エンティティマネージャーに JTA トランザクションがアクティブであることを示し、永続コンテキストをそれに参加させます。 |
void | lock(ObjectSE entity, LockModeType lockMode) 永続コンテキストに含まれるエンティティインスタンスを、指定されたロックモード型でロックします。 |
void | lock(ObjectSE entity, LockModeType lockMode, MapSE<StringSE, ObjectSE> properties) 永続コンテキストに含まれるエンティティインスタンスを、指定されたロックモード型と指定されたプロパティでロックします。 |
<T> T | merge(T entity) 指定されたエンティティの状態を現在の永続コンテキストにマージします。 |
void | persist(ObjectSE entity) インスタンスを管理および永続化します。 |
void | refresh(ObjectSE entity) データベースのインスタンスの状態をリフレッシュし、エンティティに加えられた変更を上書きします(存在する場合)。 |
void | refresh(ObjectSE entity, LockModeType lockMode) データベースからインスタンスの状態をリフレッシュし、エンティティに加えられた変更を上書きし、特定のロックモード型に対してロックします。 |
void | refresh(ObjectSE entity, LockModeType lockMode, MapSE<StringSE, ObjectSE> properties) データベースのインスタンスの状態をリフレッシュし、エンティティに加えられた変更を上書きし、特定のロックモード型および指定されたプロパティでロックします。 |
void | refresh(ObjectSE entity, MapSE<StringSE, ObjectSE> properties) 指定されたプロパティを使用して、データベースのインスタンスの状態をリフレッシュし、エンティティに加えられた変更を上書きします(存在する場合)。 |
void | remove(ObjectSE entity) エンティティインスタンスを削除します。 |
void | setFlushMode(FlushModeType flushMode) 永続コンテキストに含まれるすべてのオブジェクトに適用されるフラッシュモードを設定します。 |
void | setProperty(StringSE propertyName, ObjectSE value) エンティティマネージャーのプロパティまたはヒントを設定します。 |
<T> T | unwrap(ClassSE<T> cls) 指定された型のオブジェクトを返し、プロバイダー固有の API へのアクセスを許可します。 |
void persist(ObjectSE entity)
entity
- エンティティインスタンス EntityExistsException
- エンティティがすでに存在する場合。(エンティティがすでに存在する場合、永続化操作が呼び出されたときに EntityExistsException
がスローされるか、フラッシュまたはコミット時に EntityExistsException
または別の PersistenceException
がスローされます。)IllegalArgumentExceptionSE
- インスタンスがエンティティではない場合 TransactionRequiredException
- 型 PersistenceContextType.TRANSACTION
のコンテナー管理エンティティマネージャーで呼び出されたときにトランザクションがない場合 <T> T merge(T entity)
entity
- エンティティインスタンス IllegalArgumentExceptionSE
- インスタンスがエンティティではない場合、または削除されたエンティティである場合 TransactionRequiredException
- 型 PersistenceContextType.TRANSACTION
のコンテナー管理エンティティマネージャーで呼び出されたときにトランザクションがない場合 void remove(ObjectSE entity)
entity
- エンティティインスタンス IllegalArgumentExceptionSE
- インスタンスがエンティティではない場合、または分離されたエンティティである場合 TransactionRequiredException
- 型 PersistenceContextType.TRANSACTION
のコンテナー管理エンティティマネージャーで呼び出され、トランザクションがない場合 <T> T find(ClassSE<T> entityClass, ObjectSE primaryKey)
entityClass
- エンティティクラス primaryKey
- 主キー IllegalArgumentExceptionSE
- 最初の引数がエンティティ型を示していないか、2 番目の引数がそのエンティティの主キーの有効な型でないか、null である場合 <T> T find(ClassSE<T> entityClass, ObjectSE primaryKey, MapSE<StringSE,ObjectSE> properties)
entityClass
- エンティティクラス primaryKey
- 主キー properties
- 標準およびベンダー固有のプロパティとヒント IllegalArgumentExceptionSE
- 最初の引数がエンティティ型を示していないか、2 番目の引数がそのエンティティの主キーの有効な型でないか、null である場合 <T> T find(ClassSE<T> entityClass, ObjectSE primaryKey, LockModeType lockMode)
エンティティが永続コンテキスト内で見つかり、ロックモード型が悲観的であり、エンティティにバージョン属性がある場合、永続プロバイダーはデータベースロックを取得するときに楽観的なバージョンチェックを実行する必要があります。これらのチェックが失敗すると、OptimisticLockException
がスローされます。
ロックモード型が悲観的で、エンティティインスタンスが見つかったがロックできない場合:
PessimisticLockException
がスローされますLockTimeoutException
がスローされます entityClass
- エンティティクラス primaryKey
- 主キー lockMode
- ロックモード IllegalArgumentExceptionSE
- 最初の引数がエンティティ型を示していない場合、または 2 番目の引数がそのエンティティの主キーの有効な型ではない場合、または null の場合 TransactionRequiredException
- トランザクションがなく、NONE
以外のロックモードが指定されている場合、または現在のトランザクションに参加していないエンティティマネージャーで呼び出され、NONE
以外のロックモードが指定されている場合 OptimisticLockException
- 楽観的なバージョンチェックが失敗した場合 PessimisticLockException
- 悲観的ロックが失敗し、トランザクションがロールバックされた場合 LockTimeoutException
- 悲観的ロックが失敗し、ステートメントのみがロールバックされる場合 PersistenceException
- サポートされていないロック呼び出しが行われた場合 <T> T find(ClassSE<T> entityClass, ObjectSE primaryKey, LockModeType lockMode, MapSE<StringSE,ObjectSE> properties)
エンティティが永続コンテキスト内で見つかり、ロックモード型が悲観的であり、エンティティにバージョン属性がある場合、永続プロバイダーはデータベースロックを取得するときに楽観的なバージョンチェックを実行する必要があります。これらのチェックが失敗すると、OptimisticLockException
がスローされます。
ロックモード型が悲観的で、エンティティインスタンスが見つかったがロックできない場合:
PessimisticLockException
がスローされますLockTimeoutException
がスローされます ベンダー固有のプロパティまたはヒントが認識されない場合、警告なしで無視されます。
ポータブルアプリケーションは、標準のタイムアウトヒントに依存するべきではありません。使用中のデータベースとプロバイダーが使用するロックメカニズムに応じて、ヒントが表示される場合と表示されない場合があります。
entityClass
- エンティティクラス primaryKey
- 主キー lockMode
- ロックモード properties
- 標準およびベンダー固有のプロパティとヒント IllegalArgumentExceptionSE
- 最初の引数がエンティティ型を示していない場合、または 2 番目の引数がそのエンティティの主キーの有効な型ではない場合、または null の場合 TransactionRequiredException
- トランザクションがなく、NONE
以外のロックモードが指定されている場合、または現在のトランザクションに参加していないエンティティマネージャーで呼び出され、NONE
以外のロックモードが指定されている場合 OptimisticLockException
- 楽観的なバージョンチェックが失敗した場合 PessimisticLockException
- 悲観的ロックが失敗し、トランザクションがロールバックされた場合 LockTimeoutException
- 悲観的ロックが失敗し、ステートメントのみがロールバックされる場合 PersistenceException
- サポートされていないロック呼び出しが行われた場合 <T> T getReference(ClassSE<T> entityClass, ObjectSE primaryKey)
EntityNotFoundException
がスローされます。(永続化プロバイダーランタイムは、getReference
が呼び出されたときに EntityNotFoundException
をスローすることを許可されています)アプリケーションは、エンティティマネージャーが開いている間にアプリケーションによってアクセスされない限り、デタッチ時にインスタンスの状態が利用可能であることを期待すべきではありません。entityClass
- エンティティクラス primaryKey
- 主キー IllegalArgumentExceptionSE
- 最初の引数がエンティティ型を示していない場合、または 2 番目の引数がそのエンティティの主キーの有効な型ではない場合、または null の場合 EntityNotFoundException
- エンティティの状態にアクセスできない場合 void flush()
TransactionRequiredException
- トランザクションがない場合、またはエンティティマネージャーが現在のトランザクションに参加していない場合 PersistenceException
- フラッシュが失敗した場合 void setFlushMode(FlushModeType flushMode)
flushMode
- フラッシュモード FlushModeType getFlushMode()
void lock(ObjectSE entity, LockModeType lockMode)
悲観的ロックモード型が指定されていて、エンティティにバージョン属性が含まれている場合、永続性プロバイダーは、データベースロックを取得するときに楽観的バージョンチェックも実行する必要があります。これらのチェックが失敗すると、OptimisticLockException
がスローされます。
ロックモード型が悲観的で、エンティティインスタンスが見つかったがロックできない場合:
PessimisticLockException
がスローされますLockTimeoutException
がスローされます entity
- エンティティインスタンス lockMode
- ロックモード IllegalArgumentExceptionSE
- インスタンスがエンティティではない場合、または分離されたエンティティである場合 TransactionRequiredException
- トランザクションがない場合、または現在のトランザクションに参加していないエンティティマネージャーで呼び出された場合 EntityNotFoundException
- 悲観的ロックが実行されたときにエンティティがデータベースに存在しない場合 OptimisticLockException
- 楽観的なバージョンチェックが失敗した場合 PessimisticLockException
- 悲観的ロックが失敗し、トランザクションがロールバックされた場合 LockTimeoutException
- 悲観的ロックが失敗し、ステートメントのみがロールバックされる場合 PersistenceException
- サポートされていないロック呼び出しが行われた場合 void lock(ObjectSE entity, LockModeType lockMode, MapSE<StringSE,ObjectSE> properties)
悲観的ロックモード型が指定されていて、エンティティにバージョン属性が含まれている場合、永続性プロバイダーは、データベースロックを取得するときに楽観的バージョンチェックも実行する必要があります。これらのチェックが失敗すると、OptimisticLockException
がスローされます。
ロックモード型が悲観的で、エンティティインスタンスが見つかったがロックできない場合:
PessimisticLockException
がスローされますLockTimeoutException
がスローされます ベンダー固有のプロパティまたはヒントが認識されない場合、警告なしで無視されます。
ポータブルアプリケーションは、標準のタイムアウトヒントに依存するべきではありません。使用中のデータベースとプロバイダーが使用するロックメカニズムに応じて、ヒントが表示される場合と表示されない場合があります。
entity
- エンティティインスタンス lockMode
- ロックモード properties
- 標準およびベンダー固有のプロパティとヒント IllegalArgumentExceptionSE
- インスタンスがエンティティではない場合、または分離されたエンティティである場合 TransactionRequiredException
- トランザクションがない場合、または現在のトランザクションに参加していないエンティティマネージャーで呼び出された場合 EntityNotFoundException
- 悲観的ロックが実行されたときにエンティティがデータベースに存在しない場合 OptimisticLockException
- 楽観的なバージョンチェックが失敗した場合 PessimisticLockException
- 悲観的ロックが失敗し、トランザクションがロールバックされた場合 LockTimeoutException
- 悲観的ロックが失敗し、ステートメントのみがロールバックされる場合 PersistenceException
- サポートされていないロック呼び出しが行われた場合 void refresh(ObjectSE entity)
entity
- エンティティインスタンス IllegalArgumentExceptionSE
- インスタンスがエンティティではない場合、またはエンティティが管理されていない場合 TransactionRequiredException
- 型 PersistenceContextType.TRANSACTION
のコンテナー管理エンティティマネージャーで呼び出されたときにトランザクションがない場合 EntityNotFoundException
- エンティティがデータベースに存在しない場合 void refresh(ObjectSE entity, MapSE<StringSE,ObjectSE> properties)
ベンダー固有のプロパティまたはヒントが認識されない場合、警告なしで無視されます。
entity
- エンティティインスタンス properties
- 標準およびベンダー固有のプロパティとヒント IllegalArgumentExceptionSE
- インスタンスがエンティティではない場合、またはエンティティが管理されていない場合 TransactionRequiredException
- 型 PersistenceContextType.TRANSACTION
のコンテナー管理エンティティマネージャーで呼び出されたときにトランザクションがない場合 EntityNotFoundException
- エンティティがデータベースに存在しない場合 void refresh(ObjectSE entity, LockModeType lockMode)
ロックモード型が悲観的で、エンティティインスタンスが見つかったがロックできない場合:
PessimisticLockException
がスローされますLockTimeoutException
がスローされます。entity
- エンティティインスタンス lockMode
- ロックモード IllegalArgumentExceptionSE
- インスタンスがエンティティではない場合、またはエンティティが管理されていない場合 TransactionRequiredException
- トランザクションがないときに、型 PersistenceContextType.TRANSACTION
のコンテナー管理エンティティマネージャーで呼び出された場合。トランザクションがなく、NONE
以外のロックモードが指定されているときに、拡張エンティティマネージャーで呼び出された場合。または、現在のトランザクションに参加していない拡張エンティティマネージャーで呼び出され、NONE
以外のロックモードが指定されている場合 EntityNotFoundException
- エンティティがデータベースに存在しない場合 PessimisticLockException
- 悲観的ロックが失敗し、トランザクションがロールバックされた場合 LockTimeoutException
- 悲観的ロックが失敗し、ステートメントのみがロールバックされる場合 PersistenceException
- サポートされていないロック呼び出しが行われた場合 void refresh(ObjectSE entity, LockModeType lockMode, MapSE<StringSE,ObjectSE> properties)
ロックモード型が悲観的で、エンティティインスタンスが見つかったがロックできない場合:
PessimisticLockException
がスローされますLockTimeoutException
がスローされます ベンダー固有のプロパティまたはヒントが認識されない場合、警告なしで無視されます。
ポータブルアプリケーションは、標準のタイムアウトヒントに依存するべきではありません。使用中のデータベースとプロバイダーが使用するロックメカニズムに応じて、ヒントが表示される場合と表示されない場合があります。
entity
- エンティティインスタンス lockMode
- ロックモード properties
- 標準およびベンダー固有のプロパティとヒント IllegalArgumentExceptionSE
- インスタンスがエンティティではない場合、またはエンティティが管理されていない場合 TransactionRequiredException
- トランザクションがないときに、型 PersistenceContextType.TRANSACTION
のコンテナー管理エンティティマネージャーで呼び出された場合。トランザクションがなく、NONE
以外のロックモードが指定されているときに、拡張エンティティマネージャーで呼び出された場合。または、現在のトランザクションに参加していない拡張エンティティマネージャーで呼び出され、NONE
以外のロックモードが指定されている場合 EntityNotFoundException
- エンティティがデータベースに存在しない場合 PessimisticLockException
- 悲観的ロックが失敗し、トランザクションがロールバックされた場合 LockTimeoutException
- 悲観的ロックが失敗し、ステートメントのみがロールバックされる場合 PersistenceException
- サポートされていないロック呼び出しが行われた場合 void clear()
void detach(ObjectSE entity)
entity
- エンティティインスタンス IllegalArgumentExceptionSE
- インスタンスがエンティティではない場合 boolean contains(ObjectSE entity)
entity
- エンティティインスタンス IllegalArgumentExceptionSE
- エンティティでない場合 LockModeType getLockMode(ObjectSE entity)
entity
- エンティティインスタンス TransactionRequiredException
- トランザクションがない場合、またはエンティティマネージャーが現在のトランザクションに参加していない場合 IllegalArgumentExceptionSE
- インスタンスが管理対象エンティティではなく、トランザクションがアクティブな場合 void setProperty(StringSE propertyName, ObjectSE value)
propertyName
- プロパティまたはヒントの名前 value
- プロパティまたはヒントの値 IllegalArgumentExceptionSE
- 2 番目の引数が実装に有効でない場合 MapSE<StringSE,ObjectSE> getProperties()
Query createQuery(StringSE qlString)
Query
のインスタンスを作成します。qlString
- Jakarta Persistence クエリ文字列 IllegalArgumentExceptionSE
- クエリ文字列が無効であることが判明した場合 <T> TypedQuery<T> createQuery(CriteriaQuery<T> criteriaQuery)
TypedQuery
のインスタンスを作成します。criteriaQuery
- 条件クエリオブジェクト IllegalArgumentExceptionSE
- 条件クエリが無効であることが判明した場合 Query createQuery(CriteriaUpdate updateQuery)
Query
のインスタンスを作成します。updateQuery
- 条件更新クエリオブジェクト IllegalArgumentExceptionSE
- 更新クエリが無効であることが判明した場合 Query createQuery(CriteriaDelete deleteQuery)
Query
のインスタンスを作成します。deleteQuery
- 条件削除クエリオブジェクト IllegalArgumentExceptionSE
- 削除クエリが無効であることが判明した場合 <T> TypedQuery<T> createQuery(StringSE qlString, ClassSE<T> resultClass)
TypedQuery
のインスタンスを作成します。クエリの選択リストには、resultClass
引数で指定された型に割り当て可能なアイテムが 1 つだけ含まれている必要があります。qlString
- Jakarta Persistence クエリ文字列 resultClass
- クエリ結果の型 IllegalArgumentExceptionSE
- クエリ文字列が無効であることが判明した場合、またはクエリ結果が指定された型に割り当て可能でないことが判明した場合 Query createNamedQuery(StringSE name)
Query
のインスタンスを作成します。name
- メタデータで定義されたクエリの名前 IllegalArgumentExceptionSE
- クエリが指定された名前で定義されていない場合、またはクエリ文字列が無効であることが判明した場合 <T> TypedQuery<T> createNamedQuery(StringSE name, ClassSE<T> resultClass)
TypedQuery
のインスタンスを作成します。クエリの選択リストには、resultClass
引数で指定された型に割り当て可能なアイテムが 1 つだけ含まれている必要があります。name
- メタデータで定義されたクエリの名前 resultClass
- クエリ結果の型 IllegalArgumentExceptionSE
- クエリが指定された名前で定義されていない場合、クエリ文字列が無効であることが判明した場合、クエリ結果が指定された型に割り当て可能でないことが判明した場合 Query createNativeQuery(StringSE sqlString)
Query
のインスタンスを作成します。クエリが更新クエリでも削除クエリでもない場合、クエリを実行すると、SQL 結果の各行が Object[] 型の結果として返されます(選択リストに列が 1 つしかない場合は Object 型の結果))列の値は、選択リストでの出現順に返され、デフォルトの JDBC 型マッピングが適用されます。sqlString
- ネイティブ SQL クエリ文字列 Query createNativeQuery(StringSE sqlString, ClassSE resultClass)
Query
のインスタンスを作成します。sqlString
- ネイティブ SQL クエリ文字列 resultClass
- 結果のインスタンスのクラス Query createNativeQuery(StringSE sqlString, StringSE resultSetMapping)
Query
のインスタンスを作成します。sqlString
- ネイティブ SQL クエリ文字列 resultSetMapping
- 結果セットマッピングの名前 StoredProcedureQuery createNamedStoredProcedureQuery(StringSE name)
StoredProcedureQuery
のインスタンスを作成します。ストアドプロシージャを実行する前に、パラメーターを登録する必要があります。
ストアドプロシージャが 1 つ以上の結果セットを返す場合、結果セットはすべて Object[] 型のリストとして返されます。
name
- メタデータでストアドプロシージャクエリに割り当てられた名前 IllegalArgumentExceptionSE
- クエリが指定された名前で定義されていない場合 StoredProcedureQuery createStoredProcedureQuery(StringSE procedureName)
StoredProcedureQuery
のインスタンスを作成します。ストアドプロシージャを実行する前に、パラメーターを登録する必要があります。
ストアドプロシージャが 1 つ以上の結果セットを返す場合、結果セットはすべて Object[] 型のリストとして返されます。
procedureName
- データベース内のストアドプロシージャの名前 IllegalArgumentExceptionSE
- 指定された名前のストアドプロシージャが存在しない場合 (またはクエリの実行は失敗します)StoredProcedureQuery createStoredProcedureQuery(StringSE procedureName, ClassSE... resultClasses)
StoredProcedureQuery
のインスタンスを作成します。ストアドプロシージャを実行する前に、パラメーターを登録する必要があります。
resultClass
引数は、ストアドプロシージャの呼び出しによって結果セットが返される順序で指定する必要があります。
procedureName
- データベース内のストアドプロシージャの名前 resultClasses
- ストアドプロシージャによって生成された結果セットがマップされるクラス IllegalArgumentExceptionSE
- 指定された名前のストアドプロシージャが存在しない場合 (またはクエリの実行は失敗します)StoredProcedureQuery createStoredProcedureQuery(StringSE procedureName, StringSE... resultSetMappings)
StoredProcedureQuery
のインスタンスを作成します。ストアドプロシージャを実行する前に、パラメーターを登録する必要があります。
resultSetMapping
引数は、ストアドプロシージャの呼び出しによって結果セットが返される順序で指定する必要があります。
procedureName
- データベース内のストアドプロシージャの名前 resultSetMappings
- ストアドプロシージャによって返される結果セットのマッピングで使用される結果セットマッピングの名前 IllegalArgumentExceptionSE
- 指定された名前のストアドプロシージャまたは結果セットマッピングが存在しない場合 (またはクエリの実行は失敗します)void joinTransaction()
このメソッドは、アクティブなトランザクションのスコープ外で作成された JTA アプリケーション管理のエンティティマネージャー、または型 SynchronizationType.UNSYNCHRONIZED
のエンティティマネージャーで呼び出して、現在の JTA トランザクションに関連付ける必要があります。
TransactionRequiredException
- トランザクションがない場合 boolean isJoinedToTransaction()
<T> T unwrap(ClassSE<T> cls)
EntityManager
実装が指定されたクラスをサポートしない場合、PersistenceException
がスローされます。cls
- 返されるオブジェクトのクラス。これは通常、基礎となる EntityManager
実装クラスまたはそれが実装するインターフェースのいずれかです。PersistenceException
- プロバイダーが呼び出しをサポートしていない場合 ObjectSE getDelegate()
EntityManager
の基になるプロバイダーオブジェクトを返します(利用可能な場合)。このメソッドの結果は実装固有です。unwrap
メソッドは、新しいアプリケーションに適しています。
void close()
EntityManager
インスタンスとそれから取得された Query
、TypedQuery
、StoredProcedureQuery
オブジェクトのすべてのメソッドは、getProperties
、getTransaction
、isOpen
(false を返す)を除いて IllegalStateException
をスローします。エンティティマネージャーがアクティブなトランザクションに参加しているときにこのメソッドが呼び出された場合、永続コンテキストはトランザクションが完了するまで管理されたままになります。IllegalStateExceptionSE
- エンティティマネージャーがコンテナー管理の場合 boolean isOpen()
EntityTransaction getTransaction()
EntityTransaction
オブジェクトを返します。EntityTransaction
インスタンスを連続して使用して、複数のトランザクションを開始およびコミットできます。IllegalStateExceptionSE
- JTA エンティティマネージャーで呼び出された場合 EntityManagerFactory getEntityManagerFactory()
IllegalStateExceptionSE
- エンティティマネージャーが閉じている場合 CriteriaBuilder getCriteriaBuilder()
CriteriaQuery
オブジェクトの作成のために CriteriaBuilder
のインスタンスを返します。IllegalStateExceptionSE
- エンティティマネージャーが閉じている場合 Metamodel getMetamodel()
Metamodel
インターフェースのインスタンスを返します。IllegalStateExceptionSE
- エンティティマネージャーが閉じている場合 <T> EntityGraph<T> createEntityGraph(ClassSE<T> rootType)
rootType
- エンティティグラフのクラス EntityGraph<?> createEntityGraph(StringSE graphName)
graphName
- エンティティグラフの名前 EntityGraph<?> getEntityGraph(StringSE graphName)
graphName
- 既存のエンティティグラフの名前 IllegalArgumentExceptionSE
- 指定された名前の EntityGraph がない場合 <T> ListSE<EntityGraph<? super T>> getEntityGraphs(ClassSE<T> entityClass)
entityClass
- エンティティクラス IllegalArgumentExceptionSE
- クラスがエンティティでない場合 Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.