インターフェース HibernateOperations
- すべての既知の実装クラス:
HibernateTemplate
execute(org.springframework.orm.hibernate5.HibernateCallback<T>) メソッドを指定するインターフェース。HibernateTemplate によって実装されます。あまり使用されませんが、簡単にモックやスタブを作成できるため、テスト容易性を高めるための便利なオプションです。 さまざまな Session メソッドを反映する HibernateTemplate のデータアクセスメソッドを定義します。これらのメソッドのセマンティクスの詳細については、Hibernate Session javadoc を読むことを強くお勧めします。
非推奨のメモ : HibernateTemplate とこの操作インターフェースは、Spring アプリケーションのデータアクセス実装スタイルの点で下位互換性を保つために残されていますが、重要な相互作用にはネイティブ Session アクセスコードの使用を強くお勧めします。これは特に、パラメーター化されたクエリに影響します。Java 8+ では、createQuery を使用したカスタム HibernateCallback ラムダコードブロックと、Query インターフェースでのいくつかの setParameter 呼び出しが、一般的な execute(org.springframework.orm.hibernate5.HibernateCallback<T>) メソッドを介して実行されるエレガントなソリューションです。ラムダバリアントの恩恵を受けるそのようなすべての操作は、このインターフェースで deprecated としてマークされています。
Hibernate 互換性に関する注意 :HibernateTemplate とこのインターフェースでの操作は、通常、すべての Hibernate バージョンに適用できることを目的としています。バイナリ互換性の観点から、Spring は、Hibernate の主要な世代(この場合は Hibernate ORM 5.x)ごとにバリアントを提供します。ただし、Hibernate ORM 5.3 でのリファクタリングと削除により、一部のバリアント(特に、インデックス 0 から始まる従来の位置パラメーター)は機能しなくなりました。影響を受けるすべての操作は非推奨としてマークされています。一般的な execute(org.springframework.orm.hibernate5.HibernateCallback<T>) メソッドとクエリを作成するカスタムラムダブロックに置き換えてください。理想的には、Query を介して名前付きパラメーターを設定します。 非推奨の操作は Hibernate ORM 5.2 で機能することがわかっていますが、Hibernate ORM 5.3 以降では機能しない可能性があることに注意してください。
- 導入:
- 4.2
- 作成者:
- Juergen Hoeller
- 関連事項:
メソッドのサマリー
修飾子と型メソッド説明intbulkUpdate(StringSE queryString, ObjectSE... values) 使用すべきではありません。voidclear()Sessionキャッシュからすべてのオブジェクトを削除し、保留中のすべての保存、更新、削除をキャンセルします。voidcloseIterator(IteratorSE<?> it) 使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先boolean指定されたオブジェクトがセッションキャッシュにあるかどうかを確認します。void指定された永続インスタンスを削除します。void指定された永続インスタンスを削除します。void指定された永続インスタンスを削除します。void指定された永続インスタンスを削除します。voiddeleteAll(CollectionSE<?> entities) 指定されたすべての永続インスタンスを削除します。enableFilter(StringSE filterName) 指定されたフィルター名に対して有効な HibernateFilterを返します。voidSessionキャッシュから指定されたオブジェクトを削除します。<T> Texecute(HibernateCallback<T> action) Session内の指定されたアクションオブジェクトによって指定されたアクションを実行します。ListSE<?>使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先ListSE<?>findByCriteria(DetachedCriteria criteria) 指定された Hibernate 条件オブジェクトに基づいてクエリを実行します。ListSE<?>findByCriteria(DetachedCriteria criteria, int firstResult, int maxResults) 指定された Hibernate 条件オブジェクトに基づいてクエリを実行します。<T> ListSE<T>findByExample(StringSE entityName, T exampleEntity) 指定されたエンティティオブジェクトの例に基づいてクエリを実行します。<T> ListSE<T>findByExample(StringSE entityName, T exampleEntity, int firstResult, int maxResults) 指定されたエンティティオブジェクトの例に基づいてクエリを実行します。<T> ListSE<T>findByExample(T exampleEntity) 指定されたエンティティオブジェクトの例に基づいてクエリを実行します。<T> ListSE<T>findByExample(T exampleEntity, int firstResult, int maxResults) 指定されたエンティティオブジェクトの例に基づいてクエリを実行します。ListSE<?>findByNamedParam(StringSE queryString, StringSE[] paramNames, ObjectSE[] values) 使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先ListSE<?>findByNamedParam(StringSE queryString, StringSE paramName, ObjectSE value) 使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先ListSE<?>findByNamedQuery(StringSE queryName, ObjectSE... values) 使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先ListSE<?>findByNamedQueryAndNamedParam(StringSE queryName, StringSE[] paramNames, ObjectSE[] values) 使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先ListSE<?>findByNamedQueryAndNamedParam(StringSE queryName, StringSE paramName, ObjectSE value) 使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先ListSE<?>findByNamedQueryAndValueBean(StringSE queryName, ObjectSE valueBean) 使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先ListSE<?>findByValueBean(StringSE queryString, ObjectSE valueBean) 使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先voidflush()データベースに対する保留中の保存、更新、削除をすべてフラッシュします。<T> Tget(ClassSE<T> entityClass, SerializableSE id) 指定された識別子を持つ指定されたエンティティクラスの永続インスタンスを返します。見つからない場合はnullを返します。<T> Tget(ClassSE<T> entityClass, SerializableSE id, LockMode lockMode) 指定された識別子を持つ指定されたエンティティクラスの永続インスタンスを返します。見つからない場合はnullを返します。get(StringSE entityName, SerializableSE id) 指定された識別子を持つ指定されたエンティティクラスの永続インスタンスを返します。見つからない場合はnullを返します。get(StringSE entityName, SerializableSE id, LockMode lockMode) 指定された識別子を持つ指定されたエンティティクラスの永続インスタンスを返します。見つからない場合はnullを返します。voidinitialize(ObjectSE proxy) Hibernate プロキシまたは永続コレクションの強制初期化。IteratorSE<?>使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先<T> Tload(ClassSE<T> entityClass, SerializableSE id) 特定の識別子を持つ特定のエンティティクラスの永続インスタンスを返し、見つからない場合は例外をスローします。<T> Tload(ClassSE<T> entityClass, SerializableSE id, LockMode lockMode) 特定の識別子を持つ特定のエンティティクラスの永続インスタンスを返し、見つからない場合は例外をスローします。voidload(ObjectSE entity, SerializableSE id) 指定された識別子を持つ永続インスタンスを指定されたオブジェクトにロードし、見つからない場合は例外をスローします。load(StringSE entityName, SerializableSE id) 特定の識別子を持つ特定のエンティティクラスの永続インスタンスを返し、見つからない場合は例外をスローします。load(StringSE entityName, SerializableSE id, LockMode lockMode) 特定の識別子を持つ特定のエンティティクラスの永続インスタンスを返し、見つからない場合は例外をスローします。<T> ListSE<T>指定されたエンティティクラスのすべての永続インスタンスを返します。void指定されたオブジェクトの指定されたロックレベルを取得し、対応するデータベースエントリがまだ存在するかどうかを暗黙的に確認します。void指定されたオブジェクトの指定されたロックレベルを取得し、対応するデータベースエントリがまだ存在するかどうかを暗黙的に確認します。<T> T指定されたオブジェクトの状態を同じ識別子を持つ永続オブジェクトにコピーします。<T> Tmerge(T entity) 指定されたオブジェクトの状態を同じ識別子を持つ永続オブジェクトにコピーします。void指定された一時インスタンスを永続化します。void指定された一時インスタンスを永続化します。void指定された永続インスタンスの状態を再読み取りします。void指定された永続インスタンスの状態を再読み取りします。voidreplicate(ObjectSE entity, ReplicationMode replicationMode) 現在の識別子値を再利用して、指定されたレプリケーションモードに従って指定されたデタッチされたインスタンスの状態を保持します。voidreplicate(StringSE entityName, ObjectSE entity, ReplicationMode replicationMode) 現在の識別子値を再利用して、指定されたレプリケーションモードに従って指定されたデタッチされたインスタンスの状態を保持します。指定された一時インスタンスを永続化します。指定された一時インスタンスを永続化します。voidsaveOrUpdate(ObjectSE entity) id に従って、指定された永続インスタンスを保存または更新します(構成された「未保存値」と一致しますか? )。voidsaveOrUpdate(StringSE entityName, ObjectSE entity) id に従って、指定された永続インスタンスを保存または更新します(構成された「未保存値」と一致しますか? )。void指定された永続インスタンスを更新して、現在の HibernateSessionに関連付けます。void指定された永続インスタンスを更新して、現在の HibernateSessionに関連付けます。void指定された永続インスタンスを更新して、現在の HibernateSessionに関連付けます。void指定された永続インスタンスを更新して、現在の HibernateSessionに関連付けます。
メソッドの詳細
execute
Session内の指定されたアクションオブジェクトによって指定されたアクションを実行します。アクションオブジェクトによってスローされたアプリケーションの例外は、呼び出し元に伝達されます(チェック解除のみ可能)。Hibernate 例外は適切な DAO 例外に変換されます。ドメインオブジェクトまたはドメインオブジェクトのコレクションである結果オブジェクトを返すことができます。
メモ: コールバックコードはトランザクション自体を処理するためのものではありません。
HibernateTransactionManagerなどの適切なトランザクションマネージャーを使用します。一般に、コールバックコードは、Sessionライフサイクルメソッド(クローズ、切断、再接続など)に触れて、テンプレートが機能しないようにする必要があります。- パラメーター:
action- Hibernate アクションを指定するコールバックオブジェクト- 戻り値:
- アクションによって返される結果オブジェクト、または
null - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
get
指定された識別子を持つ指定されたエンティティクラスの永続インスタンスを返します。見つからない場合はnullを返します。このメソッドは、便宜上、
Session.get(Class, Serializable)の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。- パラメーター:
entityClass- 永続クラスid- 永続インスタンスの識別子- 戻り値:
- 永続インスタンス、または見つからない場合は
null - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
get
@Nullable <T> T get(ClassSE<T> entityClass, SerializableSE id, LockMode lockMode) throws DataAccessException 指定された識別子を持つ指定されたエンティティクラスの永続インスタンスを返します。見つからない場合はnullを返します。インスタンスが存在する場合、指定されたロックモードを取得します。
このメソッドは、便宜上、
Session.get(Class, Serializable, LockMode)の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。- パラメーター:
entityClass- 永続クラスid- 永続インスタンスの識別子lockMode- 取得するロックモード- 戻り値:
- 永続インスタンス、または見つからない場合は
null - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
get
指定された識別子を持つ指定されたエンティティクラスの永続インスタンスを返します。見つからない場合はnullを返します。このメソッドは、便宜上、
Session.get(String, Serializable)の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。- パラメーター:
entityName- 永続エンティティの名前id- 永続インスタンスの識別子- 戻り値:
- 永続インスタンス、または見つからない場合は
null - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
get
@Nullable ObjectSE get(StringSE entityName, SerializableSE id, LockMode lockMode) throws DataAccessException 指定された識別子を持つ指定されたエンティティクラスの永続インスタンスを返します。見つからない場合はnullを返します。インスタンスが存在する場合、指定されたロックモードを取得します。このメソッドは、便宜上、
Session.get(String, Serializable, LockMode)の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。- パラメーター:
entityName- 永続エンティティの名前id- 永続インスタンスの識別子lockMode- 取得するロックモード- 戻り値:
- 永続インスタンス、または見つからない場合は
null - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
load
特定の識別子を持つ特定のエンティティクラスの永続インスタンスを返し、見つからない場合は例外をスローします。このメソッドは、便宜上、
Session.load(Class, Serializable)の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。- パラメーター:
entityClass- 永続クラスid- 永続インスタンスの識別子- 戻り値:
- 永続インスタンス
- 例外:
ObjectRetrievalFailureException- 見つからない場合DataAccessException- Hibernate エラーの場合- 関連事項:
load
指定されたエンティティクラスの永続インスタンスを指定された識別子で返します。見つからない場合は例外をスローします。インスタンスが存在する場合、指定されたロックモードを取得します。このメソッドは、便宜上、
Session.load(Class, Serializable, LockMode)の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。- パラメーター:
entityClass- 永続クラスid- 永続インスタンスの識別子lockMode- 取得するロックモード- 戻り値:
- 永続インスタンス
- 例外:
ObjectRetrievalFailureException- 見つからない場合DataAccessException- Hibernate エラーの場合- 関連事項:
load
特定の識別子を持つ特定のエンティティクラスの永続インスタンスを返し、見つからない場合は例外をスローします。このメソッドは、便宜上、
Session.load(String, Serializable)の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。- パラメーター:
entityName- 永続エンティティの名前id- 永続インスタンスの識別子- 戻り値:
- 永続インスタンス
- 例外:
ObjectRetrievalFailureException- 見つからない場合DataAccessException- Hibernate エラーの場合- 関連事項:
load
特定の識別子を持つ特定のエンティティクラスの永続インスタンスを返し、見つからない場合は例外をスローします。インスタンスが存在する場合、指定されたロックモードを取得します。
このメソッドは、便宜上、
Session.load(String, Serializable, LockMode)の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。- パラメーター:
entityName- 永続エンティティの名前id- 永続インスタンスの識別子lockMode- 取得するロックモード- 戻り値:
- 永続インスタンス
- 例外:
ObjectRetrievalFailureException- 見つからない場合DataAccessException- Hibernate エラーの場合- 関連事項:
loadAll
指定されたエンティティクラスのすべての永続インスタンスを返します。注: 特定のサブセットを取得するには、クエリまたは条件を使用します。- パラメーター:
entityClass- 永続クラス- 戻り値:
- 0 個以上の永続インスタンスを含む
ListSE - 例外:
DataAccessException- Hibernate エラーがある場合- 関連事項:
load
指定された識別子を持つ永続インスタンスを指定されたオブジェクトにロードし、見つからない場合は例外をスローします。このメソッドは、便宜上、
Session.load(Object, Serializable)の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。- パラメーター:
entity- ロードする(ターゲットクラスの)オブジェクトid- 永続インスタンスの識別子- 例外:
ObjectRetrievalFailureException- 見つからない場合DataAccessException- Hibernate エラーの場合- 関連事項:
refresh
指定された永続インスタンスの状態を再読み取りします。- パラメーター:
entity- 再読み取りする永続インスタンス- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
refresh
指定された永続インスタンスの状態を再度読み取ります。インスタンスに指定されたロックモードを取得します。- パラメーター:
entity- 再読み取りする永続インスタンスlockMode- 取得するロックモード- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
contains
指定されたオブジェクトがセッションキャッシュにあるかどうかを確認します。- パラメーター:
entity- チェックする永続性インスタンス- 戻り値:
- 指定されたオブジェクトがセッションキャッシュにあるかどうか
- 例外:
DataAccessException- Hibernate エラーがある場合- 関連事項:
evict
Sessionキャッシュから指定されたオブジェクトを削除します。- パラメーター:
entity- 削除する永続インスタンス- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
initialize
Hibernate プロキシまたは永続コレクションの強制初期化。- パラメーター:
proxy- 永続オブジェクトまたは永続コレクションのプロキシ- 例外:
DataAccessException- たとえば、アクティブなセッションに関連付けられていないために、プロキシを初期化できない場合- 関連事項:
enableFilter
指定されたフィルター名に対して有効な HibernateFilterを返します。返されたFilterインスタンスを使用して、フィルターパラメーターを設定できます。- パラメーター:
filterName- フィルターの名前- 戻り値:
- 有効な Hibernate
Filter(この操作によりすでに有効になっているか、オンザフライで有効になっています) - 例外:
IllegalStateExceptionSE- トランザクションセッション内で実行していない場合 (この場合、この操作は意味がありません)
lock
指定されたオブジェクトの指定されたロックレベルを取得し、対応するデータベースエントリがまだ存在するかどうかを暗黙的に確認します。- パラメーター:
entity- ロックする永続インスタンスlockMode- 取得するロックモード- 例外:
ObjectOptimisticLockingFailureException- 見つからない場合DataAccessException- Hibernate エラーの場合- 関連事項:
lock
指定されたオブジェクトの指定されたロックレベルを取得し、対応するデータベースエントリがまだ存在するかどうかを暗黙的に確認します。- パラメーター:
entityName- 永続エンティティの名前entity- ロックする永続インスタンスlockMode- 取得するロックモード- 例外:
ObjectOptimisticLockingFailureException- 見つからない場合DataAccessException- Hibernate エラーの場合- 関連事項:
save
指定された一時インスタンスを永続化します。- パラメーター:
entity- 永続化する一時インスタンス- 戻り値:
- 生成された識別子
- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
save
指定された一時インスタンスを永続化します。- パラメーター:
entityName- 永続エンティティの名前entity- 永続化する一時インスタンス- 戻り値:
- 生成された識別子
- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
update
指定された永続インスタンスを更新して、現在の HibernateSessionに関連付けます。- パラメーター:
entity- 更新する永続インスタンス- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
update
指定された永続インスタンスを更新して、現在の HibernateSessionに関連付けます。インスタンスが存在する場合、指定されたロックモードを取得し、対応するデータベースエントリがまだ存在するかどうかを暗黙的にチェックします。
- パラメーター:
entity- 更新する永続インスタンスlockMode- 取得するロックモード- 例外:
ObjectOptimisticLockingFailureException- 見つからない場合DataAccessException- Hibernate エラーの場合- 関連事項:
update
指定された永続インスタンスを更新して、現在の HibernateSessionに関連付けます。- パラメーター:
entityName- 永続エンティティの名前entity- 更新する永続インスタンス- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
update
指定された永続インスタンスを更新して、現在の HibernateSessionに関連付けます。インスタンスが存在する場合、指定されたロックモードを取得し、対応するデータベースエントリがまだ存在するかどうかを暗黙的にチェックします。
- パラメーター:
entityName- 永続エンティティの名前entity- 更新する永続インスタンスlockMode- 取得するロックモード- 例外:
ObjectOptimisticLockingFailureException- 見つからない場合DataAccessException- Hibernate エラーの場合- 関連事項:
saveOrUpdate
ID に従って、指定された永続インスタンスを保存または更新します(構成された「未保存の値」と一致しますか? )。インスタンスを現在の HibernateSessionに関連付けます。- パラメーター:
entity- 保存または更新する永続インスタンス (HibernateSessionに関連付ける)- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
saveOrUpdate
ID に従って、指定された永続インスタンスを保存または更新します(構成された「未保存の値」と一致しますか? )。インスタンスを現在の HibernateSessionに関連付けます。- パラメーター:
entityName- 永続エンティティの名前entity- 保存または更新する永続インスタンス (HibernateSessionに関連付ける)- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
replicate
現在の識別子値を再利用して、指定されたレプリケーションモードに従って指定されたデタッチされたインスタンスの状態を保持します。- パラメーター:
entity- 複製する永続オブジェクトreplicationMode- Hibernate ReplicationMode- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
replicate
void replicate(StringSE entityName, ObjectSE entity, ReplicationMode replicationMode) throws DataAccessException 現在の識別子値を再利用して、指定されたレプリケーションモードに従って指定されたデタッチされたインスタンスの状態を保持します。- パラメーター:
entityName- 永続エンティティの名前entity- 複製する永続オブジェクトreplicationMode- Hibernate ReplicationMode- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
persist
指定された一時的なインスタンスを永続化します。JSR-220 セマンティクスに従います。saveと同様に、指定されたオブジェクトを現在の HibernateSessionに関連付けます。- パラメーター:
entity- 永続化する永続インスタンス- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
persist
指定された一時的なインスタンスを永続化します。JSR-220 セマンティクスに従います。saveと同様に、指定されたオブジェクトを現在の HibernateSessionに関連付けます。- パラメーター:
entityName- 永続エンティティの名前entity- 永続化する永続インスタンス- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
merge
指定されたオブジェクトの状態を、同じ識別子を持つ永続オブジェクトにコピーします。JSR-220 セマンティクスに従います。saveOrUpdateに似ていますが、指定されたオブジェクトを現在の Hibernate セッションに関連付けません。新しいエンティティの場合、状態もコピーされます。mergeは(TopLink とは対照的に)渡されたオブジェクトグラフの識別子を更新しないことに注意してください! 新しく割り当てられた ID を元のオブジェクトグラフにも転送する場合は、Spring のIdTransferringMergeEventListenerの登録を検討してください。- パラメーター:
entity- 対応する永続化インスタンスとマージするオブジェクト- 戻り値:
- 更新され、登録された永続インスタンス
- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
merge
指定されたオブジェクトの状態を、同じ識別子を持つ永続オブジェクトにコピーします。JSR-220 セマンティクスに従います。saveOrUpdateに似ていますが、指定されたオブジェクトを現在の HibernateSessionに関連付けません。新しいエンティティの場合、状態もコピーされます。mergeは(TopLink とは対照的に)渡されたオブジェクトグラフの識別子を更新しないことに注意してください! 新しく割り当てられた ID を元のオブジェクトグラフにも転送する場合は、Spring のIdTransferringMergeEventListenerの登録を検討してください。- パラメーター:
entityName- 永続エンティティの名前entity- 対応する永続化インスタンスとマージするオブジェクト- 戻り値:
- 更新され、登録された永続インスタンス
- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
delete
指定された永続インスタンスを削除します。- パラメーター:
entity- 削除する永続インスタンス- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
delete
指定された永続インスタンスを削除します。インスタンスが存在する場合、指定されたロックモードを取得し、対応するデータベースエントリがまだ存在するかどうかを暗黙的にチェックします。
- パラメーター:
entity- 削除する永続インスタンスlockMode- 取得するロックモード- 例外:
ObjectOptimisticLockingFailureException- 見つからない場合DataAccessException- Hibernate エラーの場合- 関連事項:
delete
指定された永続インスタンスを削除します。- パラメーター:
entityName- 永続エンティティの名前entity- 削除する永続インスタンス- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
delete
指定された永続インスタンスを削除します。インスタンスが存在する場合、指定されたロックモードを取得し、対応するデータベースエントリがまだ存在するかどうかを暗黙的にチェックします。
- パラメーター:
entityName- 永続エンティティの名前entity- 削除する永続インスタンスlockMode- 取得するロックモード- 例外:
ObjectOptimisticLockingFailureException- 見つからない場合DataAccessException- Hibernate エラーの場合- 関連事項:
deleteAll
指定されたすべての永続インスタンスを削除します。これを任意の find メソッドと組み合わせて、2 行のコードでクエリによって削除できます。
- パラメーター:
entities- 削除する永続インスタンス- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
flush
データベースに対する保留中の保存、更新、削除をすべてフラッシュします。たとえば、JDBC コードが同じトランザクション内の特定の変更を確認する必要がある場合など、選択的な積極的なフラッシュのためにのみこれを呼び出します。それ以外の場合は、トランザクション完了時に自動フラッシュを利用することをお勧めします。
- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
clear
Sessionキャッシュからすべてのオブジェクトを削除し、保留中のすべての保存、更新、削除をキャンセルします。- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
findByCriteria
指定された Hibernate 条件オブジェクトに基づいてクエリを実行します。- パラメーター:
criteria- デタッチされた Hibernate 条件オブジェクト。 注: 条件オブジェクトを再利用しないでください! Hibernate の条件機能の設計が最適ではないため、実行ごとに再作成する必要があります。- 戻り値:
- 0 個以上の永続インスタンスを含む
ListSE - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
findByCriteria
ListSE<?> findByCriteria(DetachedCriteria criteria, int firstResult, int maxResults) throws DataAccessException 指定された Hibernate 条件オブジェクトに基づいてクエリを実行します。- パラメーター:
criteria- デタッチされた Hibernate 条件オブジェクト。 注: 条件オブジェクトを再利用しないでください! Hibernate の条件機能の設計が最適ではないため、実行ごとに再作成する必要があります。firstResult- 取得する最初の結果オブジェクトのインデックス (0 から番号付け)maxResults- 取得する結果オブジェクトの最大数 (または無制限の場合は <= 0)- 戻り値:
- 0 個以上の永続インスタンスを含む
ListSE - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
findByExample
指定されたエンティティオブジェクトの例に基づいてクエリを実行します。- パラメーター:
exampleEntity- "query-by-example" の例として機能する、目的のエンティティのインスタンス- 戻り値:
- 0 個以上の永続インスタンスを含む
ListSE - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
findByExample
指定されたエンティティオブジェクトの例に基づいてクエリを実行します。- パラメーター:
entityName- 永続エンティティの名前exampleEntity- "query-by-example" の例として機能する、目的のエンティティのインスタンス- 戻り値:
- 0 個以上の永続インスタンスを含む
ListSE - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
findByExample
<T> ListSE<T> findByExample(T exampleEntity, int firstResult, int maxResults) throws DataAccessException 指定されたエンティティオブジェクトの例に基づいてクエリを実行します。- パラメーター:
exampleEntity- "query-by-example" の例として機能する、目的のエンティティのインスタンスfirstResult- 取得する最初の結果オブジェクトのインデックス (0 から番号付け)maxResults- 取得する結果オブジェクトの最大数 (または無制限の場合は <= 0)- 戻り値:
- 0 個以上の永続インスタンスを含む
ListSE - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
findByExample
<T> ListSE<T> findByExample(StringSE entityName, T exampleEntity, int firstResult, int maxResults) throws DataAccessException 指定されたエンティティオブジェクトの例に基づいてクエリを実行します。- パラメーター:
entityName- 永続エンティティの名前exampleEntity- "query-by-example" の例として機能する、目的のエンティティのインスタンスfirstResult- 取得する最初の結果オブジェクトのインデックス (0 から番号付け)maxResults- 取得する結果オブジェクトの最大数 (または無制限の場合は <= 0)- 戻り値:
- 0 個以上の永続インスタンスを含む
ListSE - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
find
使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先HQL クエリを実行し、いくつかの値を "?" にバインドします。クエリ文字列のパラメーター。- パラメーター:
queryString- Hibernate のクエリ言語で表現されたクエリvalues- パラメーターの値- 戻り値:
- クエリ実行の結果を含む
ListSE - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
findByNamedParam
@DeprecatedSE ListSE<?> findByNamedParam(StringSE queryString, StringSE paramName, ObjectSE value) throws DataAccessException 使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先HQL クエリを実行し、1 つの値をクエリ文字列の ":" 名前付きパラメーターにバインドします。- パラメーター:
queryString- Hibernate のクエリ言語で表現されたクエリparamName- パラメーターの名前value- パラメーターの値- 戻り値:
- クエリ実行の結果を含む
ListSE - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
findByNamedParam
@DeprecatedSE ListSE<?> findByNamedParam(StringSE queryString, StringSE[] paramNames, ObjectSE[] values) throws DataAccessException 使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先HQL クエリを実行し、クエリ文字列の ":" という名前のパラメーターにいくつかの値をバインドします。- パラメーター:
queryString- Hibernate のクエリ言語で表現されたクエリparamNames- パラメーターの名前values- パラメーターの値- 戻り値:
- クエリ実行の結果を含む
ListSE - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
findByValueBean
@DeprecatedSE ListSE<?> findByValueBean(StringSE queryString, ObjectSE valueBean) throws DataAccessException 使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先HQL クエリを実行し、指定された Bean のプロパティをクエリ文字列の名前付きパラメーターにバインドします。- パラメーター:
queryString- Hibernate のクエリ言語で表現されたクエリvalueBean- パラメーターの値- 戻り値:
- クエリ実行の結果を含む
ListSE - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
findByNamedQuery
@DeprecatedSE ListSE<?> findByNamedQuery(StringSE queryName, ObjectSE... values) throws DataAccessException 使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先複数の値を "?" にバインドする名前付きクエリを実行します。クエリ文字列のパラメーター。名前付きクエリは、Hibernate マッピングファイルで定義されます。
- パラメーター:
queryName- マッピングファイル内の Hibernate クエリの名前values- パラメーターの値- 戻り値:
- クエリ実行の結果を含む
ListSE - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
findByNamedQueryAndNamedParam
@DeprecatedSE ListSE<?> findByNamedQueryAndNamedParam(StringSE queryName, StringSE paramName, ObjectSE value) throws DataAccessException 使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先名前付きクエリを実行し、1 つの値をクエリ文字列の ":" 名前付きパラメーターにバインドします。名前付きクエリは、Hibernate マッピングファイルで定義されます。
- パラメーター:
queryName- マッピングファイル内の Hibernate クエリの名前paramName- パラメーターの名前value- パラメーターの値- 戻り値:
- クエリ実行の結果を含む
ListSE - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
findByNamedQueryAndNamedParam
@DeprecatedSE ListSE<?> findByNamedQueryAndNamedParam(StringSE queryName, StringSE[] paramNames, ObjectSE[] values) throws DataAccessException 使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先名前付きクエリを実行し、いくつかの値をクエリ文字列の ":" 名前付きパラメーターにバインドします。名前付きクエリは、Hibernate マッピングファイルで定義されます。
- パラメーター:
queryName- マッピングファイル内の Hibernate クエリの名前paramNames- パラメーターの名前values- パラメーターの値- 戻り値:
- クエリ実行の結果を含む
ListSE - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
findByNamedQueryAndValueBean
@DeprecatedSE ListSE<?> findByNamedQueryAndValueBean(StringSE queryName, ObjectSE valueBean) throws DataAccessException 使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先名前付きクエリを実行し、指定された Bean のプロパティをクエリ文字列の ":" 名前付きパラメーターにバインドします。名前付きクエリは、Hibernate マッピングファイルで定義されます。
- パラメーター:
queryName- マッピングファイル内の Hibernate クエリの名前valueBean- パラメーターの値- 戻り値:
- クエリ実行の結果を含む
ListSE - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
iterate
@DeprecatedSE IteratorSE<?> iterate(StringSE queryString, ObjectSE... values) throws DataAccessException 使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先永続的なインスタンスのクエリを実行し、いくつかの値を "?" にバインドします。クエリ文字列のパラメーター。結果を
IteratorSE として返します。返されるエンティティはオンデマンドで初期化されます。詳細については、Hibernate API のドキュメントを参照してください。- パラメーター:
queryString- Hibernate のクエリ言語で表現されたクエリvalues- パラメーターの値- 戻り値:
- 0 個以上の永続インスタンスを含む
IteratorSE - 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
closeIterator
使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先セッションが閉じられるか切断されるまで待機するのではなく、さまざまなiterate(..)操作のいずれかによって作成されたIteratorSE をすぐに閉じます。- パラメーター:
it- 閉じるIterator- 例外:
DataAccessException-Iteratorを閉じることができなかった場合- 関連事項:
bulkUpdate
使用すべきではありません。5.0.4 現在、一般的なexecute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先指定されたクエリに従ってすべてのオブジェクトを更新 / 削除し、いくつかの値を "?" にバインドします。クエリ文字列のパラメーター。- パラメーター:
queryString- Hibernate のクエリ言語で表現された更新 / 削除クエリvalues- パラメーターの値- 戻り値:
- 更新 / 削除されたインスタンスの数
- 例外:
DataAccessException- Hibernate エラーの場合- 関連事項:
execute(org.springframework.orm.hibernate5.HibernateCallback<T>)メソッドに渡されるカスタムHibernateCallbackラムダコードブロックを優先