public interface HibernateOperations
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 以降では機能しない可能性があることに注意してください。
HibernateTemplate
, Session
, HibernateTransactionManager
修飾子と型 | メソッドと説明 |
---|---|
int | bulkUpdate(StringSE queryString, ObjectSE... values) 使用すべきではありません。 5.0.4 現在、一般的な execute(org.springframework.orm.hibernate5.HibernateCallback<T>) メソッドに渡されるカスタム HibernateCallback ラムダコードブロックを優先 |
void | clear() Session キャッシュからすべてのオブジェクトを削除し、保留中のすべての保存、更新、削除をキャンセルします。 |
void | closeIterator(IteratorSE<?> it) 使用すべきではありません。 5.0.4 現在、一般的な execute(org.springframework.orm.hibernate5.HibernateCallback<T>) メソッドに渡されるカスタム HibernateCallback ラムダコードブロックを優先 |
boolean | contains(ObjectSE entity) 指定されたオブジェクトがセッションキャッシュにあるかどうかを確認します。 |
void | delete(ObjectSE entity) 指定された永続インスタンスを削除します。 |
void | delete(ObjectSE entity, LockMode lockMode) 指定された永続インスタンスを削除します。 |
void | delete(StringSE entityName, ObjectSE entity) 指定された永続インスタンスを削除します。 |
void | delete(StringSE entityName, ObjectSE entity, LockMode lockMode) 指定された永続インスタンスを削除します。 |
void | deleteAll(CollectionSE<?> entities) 指定されたすべての永続インスタンスを削除します。 |
Filter | enableFilter(StringSE filterName) 指定されたフィルター名に対して有効な Hibernate Filter を返します。 |
void | evict(ObjectSE entity) Session キャッシュから指定されたオブジェクトを削除します。 |
<T> T | execute(HibernateCallback<T> action) Session 内の指定されたアクションオブジェクトによって指定されたアクションを実行します。 |
ListSE<?> | find(StringSE queryString, ObjectSE... values) 使用すべきではありません。 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 ラムダコードブロックを優先 |
void | flush() データベースに対する保留中の保存、更新、削除をすべてフラッシュします。 |
<T> T | get(ClassSE<T> entityClass, SerializableSE id) 指定された識別子を持つ指定されたエンティティクラスの永続インスタンスを返します。見つからない場合は null を返します。 |
<T> T | get(ClassSE<T> entityClass, SerializableSE id, LockMode lockMode) 指定された識別子を持つ指定されたエンティティクラスの永続インスタンスを返します。見つからない場合は null を返します。 |
ObjectSE | get(StringSE entityName, SerializableSE id) 指定された識別子を持つ指定されたエンティティクラスの永続インスタンスを返します。見つからない場合は null を返します。 |
ObjectSE | get(StringSE entityName, SerializableSE id, LockMode lockMode) 指定された識別子を持つ指定されたエンティティクラスの永続インスタンスを返します。見つからない場合は null を返します。 |
void | initialize(ObjectSE proxy) Hibernate プロキシまたは永続コレクションの強制初期化。 |
IteratorSE<?> | iterate(StringSE queryString, ObjectSE... values) 使用すべきではありません。 5.0.4 現在、一般的な execute(org.springframework.orm.hibernate5.HibernateCallback<T>) メソッドに渡されるカスタム HibernateCallback ラムダコードブロックを優先 |
<T> T | load(ClassSE<T> entityClass, SerializableSE id) 特定の識別子を持つ特定のエンティティクラスの永続インスタンスを返し、見つからない場合は例外をスローします。 |
<T> T | load(ClassSE<T> entityClass, SerializableSE id, LockMode lockMode) 特定の識別子を持つ特定のエンティティクラスの永続インスタンスを返し、見つからない場合は例外をスローします。 |
void | load(ObjectSE entity, SerializableSE id) 指定された識別子を持つ永続インスタンスを指定されたオブジェクトにロードし、見つからない場合は例外をスローします。 |
ObjectSE | load(StringSE entityName, SerializableSE id) 特定の識別子を持つ特定のエンティティクラスの永続インスタンスを返し、見つからない場合は例外をスローします。 |
ObjectSE | load(StringSE entityName, SerializableSE id, LockMode lockMode) 特定の識別子を持つ特定のエンティティクラスの永続インスタンスを返し、見つからない場合は例外をスローします。 |
<T> ListSE<T> | loadAll(ClassSE<T> entityClass) 指定されたエンティティクラスのすべての永続インスタンスを返します。 |
void | lock(ObjectSE entity, LockMode lockMode) 指定されたオブジェクトの指定されたロックレベルを取得し、対応するデータベースエントリがまだ存在するかどうかを暗黙的に確認します。 |
void | lock(StringSE entityName, ObjectSE entity, LockMode lockMode) 指定されたオブジェクトの指定されたロックレベルを取得し、対応するデータベースエントリがまだ存在するかどうかを暗黙的に確認します。 |
<T> T | merge(StringSE entityName, T entity) 指定されたオブジェクトの状態を同じ識別子を持つ永続オブジェクトにコピーします。 |
<T> T | merge(T entity) 指定されたオブジェクトの状態を同じ識別子を持つ永続オブジェクトにコピーします。 |
void | persist(ObjectSE entity) 指定された一時インスタンスを永続化します。 |
void | persist(StringSE entityName, ObjectSE entity) 指定された一時インスタンスを永続化します。 |
void | refresh(ObjectSE entity) 指定された永続インスタンスの状態を再読み取りします。 |
void | refresh(ObjectSE entity, LockMode lockMode) 指定された永続インスタンスの状態を再読み取りします。 |
void | replicate(ObjectSE entity, ReplicationMode replicationMode) 現在の識別子値を再利用して、指定されたレプリケーションモードに従って指定されたデタッチされたインスタンスの状態を保持します。 |
void | replicate(StringSE entityName, ObjectSE entity, ReplicationMode replicationMode) 現在の識別子値を再利用して、指定されたレプリケーションモードに従って指定されたデタッチされたインスタンスの状態を保持します。 |
SerializableSE | save(ObjectSE entity) 指定された一時インスタンスを永続化します。 |
SerializableSE | save(StringSE entityName, ObjectSE entity) 指定された一時インスタンスを永続化します。 |
void | saveOrUpdate(ObjectSE entity) id に従って、指定された永続インスタンスを保存または更新します(構成された「未保存値」と一致しますか? )。 |
void | saveOrUpdate(StringSE entityName, ObjectSE entity) id に従って、指定された永続インスタンスを保存または更新します(構成された「未保存値」と一致しますか? )。 |
void | update(ObjectSE entity) 指定された永続インスタンスを更新して、現在の Hibernate Session に関連付けます。 |
void | update(ObjectSE entity, LockMode lockMode) 指定された永続インスタンスを更新して、現在の Hibernate Session に関連付けます。 |
void | update(StringSE entityName, ObjectSE entity) 指定された永続インスタンスを更新して、現在の Hibernate Session に関連付けます。 |
void | update(StringSE entityName, ObjectSE entity, LockMode lockMode) 指定された永続インスタンスを更新して、現在の Hibernate Session に関連付けます。 |
@Nullable <T> T execute(HibernateCallback<T> action) throws DataAccessException
Session
内の指定されたアクションオブジェクトによって指定されたアクションを実行します。アクションオブジェクトによってスローされたアプリケーションの例外は、呼び出し元に伝達されます(チェック解除のみ可能)。Hibernate 例外は適切な DAO 例外に変換されます。ドメインオブジェクトまたはドメインオブジェクトのコレクションである結果オブジェクトを返すことができます。
メモ: コールバックコードはトランザクション自体を処理するためのものではありません。HibernateTransactionManager
などの適切なトランザクションマネージャーを使用します。一般に、コールバックコードは、Session
ライフサイクルメソッド(クローズ、切断、再接続など)に触れて、テンプレートが機能しないようにする必要があります。
action
- Hibernate アクションを指定するコールバックオブジェクト null
DataAccessException
- Hibernate エラーの場合 HibernateTransactionManager
, Session
@Nullable <T> T get(ClassSE<T> entityClass, SerializableSE id) throws DataAccessException
null
を返します。 このメソッドは、便宜上、Session.get(Class, Serializable)
の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。
entityClass
- 永続クラス id
- 永続インスタンスの識別子 null
DataAccessException
- Hibernate エラーの場合 Session.get(Class, Serializable)
@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 エラーの場合 Session.get(Class, Serializable, LockMode)
@Nullable ObjectSE get(StringSE entityName, SerializableSE id) throws DataAccessException
null
を返します。 このメソッドは、便宜上、Session.get(String, Serializable)
の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。
entityName
- 永続エンティティの名前 id
- 永続インスタンスの識別子 null
DataAccessException
- Hibernate エラーの場合 Session.get(Class, Serializable)
@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 エラーの場合 Session.get(Class, Serializable, LockMode)
<T> T load(ClassSE<T> entityClass, SerializableSE id) throws DataAccessException
このメソッドは、便宜上、Session.load(Class, Serializable)
の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。
entityClass
- 永続クラス id
- 永続インスタンスの識別子 ObjectRetrievalFailureException
- 見つからない場合 DataAccessException
- Hibernate エラーの場合 Session.load(Class, Serializable)
<T> T load(ClassSE<T> entityClass, SerializableSE id, LockMode lockMode) throws DataAccessException
このメソッドは、便宜上、Session.load(Class, Serializable, LockMode)
の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。
entityClass
- 永続クラス id
- 永続インスタンスの識別子 lockMode
- 取得するロックモード ObjectRetrievalFailureException
- 見つからない場合 DataAccessException
- Hibernate エラーの場合 Session.load(Class, Serializable)
ObjectSE load(StringSE entityName, SerializableSE id) throws DataAccessException
このメソッドは、便宜上、Session.load(String, Serializable)
の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。
entityName
- 永続エンティティの名前 id
- 永続インスタンスの識別子 ObjectRetrievalFailureException
- 見つからない場合 DataAccessException
- Hibernate エラーの場合 Session.load(Class, Serializable)
ObjectSE load(StringSE entityName, SerializableSE id, LockMode lockMode) throws DataAccessException
インスタンスが存在する場合、指定されたロックモードを取得します。
このメソッドは、便宜上、Session.load(String, Serializable, LockMode)
の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。
entityName
- 永続エンティティの名前 id
- 永続インスタンスの識別子 lockMode
- 取得するロックモード ObjectRetrievalFailureException
- 見つからない場合 DataAccessException
- Hibernate エラーの場合 Session.load(Class, Serializable)
<T> ListSE<T> loadAll(ClassSE<T> entityClass) throws DataAccessException
entityClass
- 永続クラス List
SEDataAccessException
- Hibernate エラーがある場合 SharedSessionContract.createCriteria(java.lang.Class)
void load(ObjectSE entity, SerializableSE id) throws DataAccessException
このメソッドは、便宜上、Session.load(Object, Serializable)
の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。
entity
- ロードする(ターゲットクラスの)オブジェクト id
- 永続インスタンスの識別子 ObjectRetrievalFailureException
- 見つからない場合 DataAccessException
- Hibernate エラーの場合 Session.load(Object, Serializable)
void refresh(ObjectSE entity) throws DataAccessException
entity
- 再読み取りする永続インスタンス DataAccessException
- Hibernate エラーの場合 Session.refresh(Object)
void refresh(ObjectSE entity, LockMode lockMode) throws DataAccessException
entity
- 再読み取りする永続インスタンス lockMode
- 取得するロックモード DataAccessException
- Hibernate エラーの場合 Session.refresh(Object, LockMode)
boolean contains(ObjectSE entity) throws DataAccessException
entity
- チェックする永続性インスタンス DataAccessException
- Hibernate エラーがある場合 Session.contains(java.lang.String, java.lang.Object)
void evict(ObjectSE entity) throws DataAccessException
Session
キャッシュから指定されたオブジェクトを削除します。entity
- 削除する永続インスタンス DataAccessException
- Hibernate エラーの場合 Session.evict(java.lang.Object)
void initialize(ObjectSE proxy) throws DataAccessException
proxy
- 永続オブジェクトまたは永続コレクションのプロキシ DataAccessException
- たとえば、アクティブなセッションに関連付けられていないために、プロキシを初期化できない場合 Hibernate.initialize(java.lang.Object)
Filter enableFilter(StringSE filterName) throws IllegalStateExceptionSE
Filter
を返します。返された Filter
インスタンスを使用して、フィルターパラメーターを設定できます。filterName
- フィルターの名前 Filter
(この操作によりすでに有効になっているか、オンザフライで有効になっています)IllegalStateExceptionSE
- トランザクションセッション内で実行していない場合 (この場合、この操作は意味がありません)void lock(ObjectSE entity, LockMode lockMode) throws DataAccessException
entity
- ロックする永続インスタンス lockMode
- 取得するロックモード ObjectOptimisticLockingFailureException
- 見つからない場合 DataAccessException
- Hibernate エラーの場合 Session.lock(Object, LockMode)
void lock(StringSE entityName, ObjectSE entity, LockMode lockMode) throws DataAccessException
entityName
- 永続エンティティの名前 entity
- ロックする永続インスタンス lockMode
- 取得するロックモード ObjectOptimisticLockingFailureException
- 見つからない場合 DataAccessException
- Hibernate エラーの場合 Session.lock(String, Object, LockMode)
SerializableSE save(ObjectSE entity) throws DataAccessException
entity
- 永続化する一時インスタンス DataAccessException
- Hibernate エラーの場合 Session.save(Object)
SerializableSE save(StringSE entityName, ObjectSE entity) throws DataAccessException
entityName
- 永続エンティティの名前 entity
- 永続化する一時インスタンス DataAccessException
- Hibernate エラーの場合 Session.save(String, Object)
void update(ObjectSE entity) throws DataAccessException
Session
に関連付けます。entity
- 更新する永続インスタンス DataAccessException
- Hibernate エラーの場合 Session.update(Object)
void update(ObjectSE entity, LockMode lockMode) throws DataAccessException
Session
に関連付けます。インスタンスが存在する場合、指定されたロックモードを取得し、対応するデータベースエントリがまだ存在するかどうかを暗黙的にチェックします。
entity
- 更新する永続インスタンス lockMode
- 取得するロックモード ObjectOptimisticLockingFailureException
- 見つからない場合 DataAccessException
- Hibernate エラーの場合 Session.update(Object)
void update(StringSE entityName, ObjectSE entity) throws DataAccessException
Session
に関連付けます。entityName
- 永続エンティティの名前 entity
- 更新する永続インスタンス DataAccessException
- Hibernate エラーの場合 Session.update(String, Object)
void update(StringSE entityName, ObjectSE entity, LockMode lockMode) throws DataAccessException
Session
に関連付けます。インスタンスが存在する場合、指定されたロックモードを取得し、対応するデータベースエントリがまだ存在するかどうかを暗黙的にチェックします。
entityName
- 永続エンティティの名前 entity
- 更新する永続インスタンス lockMode
- 取得するロックモード ObjectOptimisticLockingFailureException
- 見つからない場合 DataAccessException
- Hibernate エラーの場合 Session.update(String, Object)
void saveOrUpdate(ObjectSE entity) throws DataAccessException
Session
に関連付けます。entity
- 保存または更新する永続インスタンス (Hibernate Session
に関連付ける)DataAccessException
- Hibernate エラーの場合 Session.saveOrUpdate(Object)
void saveOrUpdate(StringSE entityName, ObjectSE entity) throws DataAccessException
Session
に関連付けます。entityName
- 永続エンティティの名前 entity
- 保存または更新する永続インスタンス (Hibernate Session
に関連付ける)DataAccessException
- Hibernate エラーの場合 Session.saveOrUpdate(String, Object)
void replicate(ObjectSE entity, ReplicationMode replicationMode) throws DataAccessException
entity
- 複製する永続オブジェクト replicationMode
- Hibernate ReplicationModeDataAccessException
- Hibernate エラーの場合 Session.replicate(Object, ReplicationMode)
void replicate(StringSE entityName, ObjectSE entity, ReplicationMode replicationMode) throws DataAccessException
entityName
- 永続エンティティの名前 entity
- 複製する永続オブジェクト replicationMode
- Hibernate ReplicationModeDataAccessException
- Hibernate エラーの場合 Session.replicate(String, Object, ReplicationMode)
void persist(ObjectSE entity) throws DataAccessException
save
と同様に、指定されたオブジェクトを現在の Hibernate Session
に関連付けます。
entity
- 永続化する永続インスタンス DataAccessException
- Hibernate エラーの場合 Session.persist(Object)
, save(java.lang.Object)
void persist(StringSE entityName, ObjectSE entity) throws DataAccessException
save
と同様に、指定されたオブジェクトを現在の Hibernate Session
に関連付けます。
entityName
- 永続エンティティの名前 entity
- 永続化する永続インスタンス DataAccessException
- Hibernate エラーの場合 Session.persist(String, Object)
, save(java.lang.Object)
<T> T merge(T entity) throws DataAccessException
saveOrUpdate
に似ていますが、指定されたオブジェクトを現在の Hibernate セッションに関連付けません。新しいエンティティの場合、状態もコピーされます。
merge
は(TopLink とは対照的に)渡されたオブジェクトグラフの識別子を更新しないことに注意してください! 新しく割り当てられた ID を元のオブジェクトグラフにも転送する場合は、Spring の IdTransferringMergeEventListener
の登録を検討してください。
entity
- 対応する永続化インスタンスとマージするオブジェクト DataAccessException
- Hibernate エラーの場合 Session.merge(Object)
, saveOrUpdate(java.lang.Object)
<T> T merge(StringSE entityName, T entity) throws DataAccessException
saveOrUpdate
に似ていますが、指定されたオブジェクトを現在の Hibernate Session
に関連付けません。新しいエンティティの場合、状態もコピーされます。
merge
は(TopLink とは対照的に)渡されたオブジェクトグラフの識別子を更新しないことに注意してください! 新しく割り当てられた ID を元のオブジェクトグラフにも転送する場合は、Spring の IdTransferringMergeEventListener
の登録を検討してください。
entityName
- 永続エンティティの名前 entity
- 対応する永続化インスタンスとマージするオブジェクト DataAccessException
- Hibernate エラーの場合 Session.merge(String, Object)
, saveOrUpdate(java.lang.Object)
void delete(ObjectSE entity) throws DataAccessException
entity
- 削除する永続インスタンス DataAccessException
- Hibernate エラーの場合 Session.delete(Object)
void delete(ObjectSE entity, LockMode lockMode) throws DataAccessException
インスタンスが存在する場合、指定されたロックモードを取得し、対応するデータベースエントリがまだ存在するかどうかを暗黙的にチェックします。
entity
- 削除する永続インスタンス lockMode
- 取得するロックモード ObjectOptimisticLockingFailureException
- 見つからない場合 DataAccessException
- Hibernate エラーの場合 Session.delete(Object)
void delete(StringSE entityName, ObjectSE entity) throws DataAccessException
entityName
- 永続エンティティの名前 entity
- 削除する永続インスタンス DataAccessException
- Hibernate エラーの場合 Session.delete(Object)
void delete(StringSE entityName, ObjectSE entity, LockMode lockMode) throws DataAccessException
インスタンスが存在する場合、指定されたロックモードを取得し、対応するデータベースエントリがまだ存在するかどうかを暗黙的にチェックします。
entityName
- 永続エンティティの名前 entity
- 削除する永続インスタンス lockMode
- 取得するロックモード ObjectOptimisticLockingFailureException
- 見つからない場合 DataAccessException
- Hibernate エラーの場合 Session.delete(Object)
void deleteAll(CollectionSE<?> entities) throws DataAccessException
これを任意の find メソッドと組み合わせて、2 行のコードでクエリによって削除できます。
entities
- 削除する永続インスタンス DataAccessException
- Hibernate エラーの場合 Session.delete(Object)
void flush() throws DataAccessException
たとえば、JDBC コードが同じトランザクション内の特定の変更を確認する必要がある場合など、選択的な積極的なフラッシュのためにのみこれを呼び出します。それ以外の場合は、トランザクション完了時に自動フラッシュを利用することをお勧めします。
DataAccessException
- Hibernate エラーの場合 Session.flush()
void clear() throws DataAccessException
Session
キャッシュからすべてのオブジェクトを削除し、保留中のすべての保存、更新、削除をキャンセルします。DataAccessException
- Hibernate エラーの場合 Session.clear()
ListSE<?> findByCriteria(DetachedCriteria criteria) throws DataAccessException
criteria
- デタッチされた Hibernate 条件オブジェクト。 注: 条件オブジェクトを再利用しないでください! Hibernate の条件機能の設計が最適ではないため、実行ごとに再作成する必要があります。List
SEDataAccessException
- Hibernate エラーの場合 DetachedCriteria.getExecutableCriteria(org.hibernate.Session)
ListSE<?> findByCriteria(DetachedCriteria criteria, int firstResult, int maxResults) throws DataAccessException
criteria
- デタッチされた Hibernate 条件オブジェクト。 注: 条件オブジェクトを再利用しないでください! Hibernate の条件機能の設計が最適ではないため、実行ごとに再作成する必要があります。firstResult
- 取得する最初の結果オブジェクトのインデックス (0 から番号付け)maxResults
- 取得する結果オブジェクトの最大数 (または無制限の場合は <= 0)List
SEDataAccessException
- Hibernate エラーの場合 DetachedCriteria.getExecutableCriteria(org.hibernate.Session)
, Criteria.setFirstResult(int)
, Criteria.setMaxResults(int)
<T> ListSE<T> findByExample(T exampleEntity) throws DataAccessException
exampleEntity
- "query-by-example" の例として機能する、目的のエンティティのインスタンス List
SEDataAccessException
- Hibernate エラーの場合 Example.create(Object)
<T> ListSE<T> findByExample(StringSE entityName, T exampleEntity) throws DataAccessException
entityName
- 永続エンティティの名前 exampleEntity
- "query-by-example" の例として機能する、目的のエンティティのインスタンス List
SEDataAccessException
- Hibernate エラーの場合 Example.create(Object)
<T> ListSE<T> findByExample(T exampleEntity, int firstResult, int maxResults) throws DataAccessException
exampleEntity
- "query-by-example" の例として機能する、目的のエンティティのインスタンス firstResult
- 取得する最初の結果オブジェクトのインデックス (0 から番号付け)maxResults
- 取得する結果オブジェクトの最大数 (または無制限の場合は <= 0)List
SEDataAccessException
- Hibernate エラーの場合 Example.create(Object)
, Criteria.setFirstResult(int)
, Criteria.setMaxResults(int)
<T> ListSE<T> findByExample(StringSE entityName, T exampleEntity, int firstResult, int maxResults) throws DataAccessException
entityName
- 永続エンティティの名前 exampleEntity
- "query-by-example" の例として機能する、目的のエンティティのインスタンス firstResult
- 取得する最初の結果オブジェクトのインデックス (0 から番号付け)maxResults
- 取得する結果オブジェクトの最大数 (または無制限の場合は <= 0)List
SEDataAccessException
- Hibernate エラーの場合 Example.create(Object)
, Criteria.setFirstResult(int)
, Criteria.setMaxResults(int)
@DeprecatedSE ListSE<?> find(StringSE queryString, ObjectSE... values) throws DataAccessException
execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
メソッドに渡されるカスタム HibernateCallback
ラムダコードブロックを使用します。queryString
- Hibernate のクエリ言語で表現されたクエリ values
- パラメーターの値 List
SEDataAccessException
- Hibernate エラーの場合 Session.createQuery(java.lang.String, java.lang.Class<T>)
@DeprecatedSE ListSE<?> findByNamedParam(StringSE queryString, StringSE paramName, ObjectSE value) throws DataAccessException
execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
メソッドに渡されるカスタム HibernateCallback
ラムダコードブロックを使用します。queryString
- Hibernate のクエリ言語で表現されたクエリ paramName
- パラメーターの名前 value
- パラメーターの値 List
SEDataAccessException
- Hibernate エラーの場合 SharedSessionContract.getNamedQuery(String)
@DeprecatedSE ListSE<?> findByNamedParam(StringSE queryString, StringSE[] paramNames, ObjectSE[] values) throws DataAccessException
execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
メソッドに渡されるカスタム HibernateCallback
ラムダコードブロックを使用します。queryString
- Hibernate のクエリ言語で表現されたクエリ paramNames
- パラメーターの名前 values
- パラメーターの値 List
SEDataAccessException
- Hibernate エラーの場合 SharedSessionContract.getNamedQuery(String)
@DeprecatedSE ListSE<?> findByValueBean(StringSE queryString, ObjectSE valueBean) throws DataAccessException
execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
メソッドに渡されるカスタム HibernateCallback
ラムダコードブロックを使用します。queryString
- Hibernate のクエリ言語で表現されたクエリ valueBean
- パラメーターの値 List
SEDataAccessException
- Hibernate エラーの場合 Query.setProperties(java.lang.Object)
, Session.createQuery(java.lang.String, java.lang.Class<T>)
@DeprecatedSE ListSE<?> findByNamedQuery(StringSE queryName, ObjectSE... values) throws DataAccessException
execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
メソッドに渡されるカスタム HibernateCallback
ラムダコードブロックを使用します。名前付きクエリは、Hibernate マッピングファイルで定義されます。
queryName
- マッピングファイル内の Hibernate クエリの名前 values
- パラメーターの値 List
SEDataAccessException
- Hibernate エラーの場合 SharedSessionContract.getNamedQuery(String)
@DeprecatedSE ListSE<?> findByNamedQueryAndNamedParam(StringSE queryName, StringSE paramName, ObjectSE value) throws DataAccessException
execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
メソッドに渡されるカスタム HibernateCallback
ラムダコードブロックを使用します。名前付きクエリは、Hibernate マッピングファイルで定義されます。
queryName
- マッピングファイル内の Hibernate クエリの名前 paramName
- パラメーターの名前 value
- パラメーターの値 List
SEDataAccessException
- Hibernate エラーの場合 SharedSessionContract.getNamedQuery(String)
@DeprecatedSE ListSE<?> findByNamedQueryAndNamedParam(StringSE queryName, StringSE[] paramNames, ObjectSE[] values) throws DataAccessException
execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
メソッドに渡されるカスタム HibernateCallback
ラムダコードブロックを使用します。名前付きクエリは、Hibernate マッピングファイルで定義されます。
queryName
- マッピングファイル内の Hibernate クエリの名前 paramNames
- パラメーターの名前 values
- パラメーターの値 List
SEDataAccessException
- Hibernate エラーの場合 SharedSessionContract.getNamedQuery(String)
@DeprecatedSE ListSE<?> findByNamedQueryAndValueBean(StringSE queryName, ObjectSE valueBean) throws DataAccessException
execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
メソッドに渡されるカスタム HibernateCallback
ラムダコードブロックを使用します。名前付きクエリは、Hibernate マッピングファイルで定義されます。
queryName
- マッピングファイル内の Hibernate クエリの名前 valueBean
- パラメーターの値 List
SEDataAccessException
- Hibernate エラーの場合 Query.setProperties(java.lang.Object)
, SharedSessionContract.getNamedQuery(String)
@DeprecatedSE IteratorSE<?> iterate(StringSE queryString, ObjectSE... values) throws DataAccessException
execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
メソッドに渡されるカスタム HibernateCallback
ラムダコードブロックを使用します。 結果を Iterator
SE として返します。返されるエンティティはオンデマンドで初期化されます。詳細については、Hibernate API のドキュメントを参照してください。
queryString
- Hibernate のクエリ言語で表現されたクエリ values
- パラメーターの値 Iterator
SEDataAccessException
- Hibernate エラーの場合 Session.createQuery(java.lang.String, java.lang.Class<T>)
, Query.iterate()
@DeprecatedSE void closeIterator(IteratorSE<?> it) throws DataAccessException
execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
メソッドに渡されるカスタム HibernateCallback
ラムダコードブロックを使用します。iterate(..)
操作のいずれかによって作成された Iterator
SE をすぐに閉じます。it
- 閉じる Iterator
DataAccessException
- Iterator
を閉じることができなかった場合 Hibernate.close(java.util.Iterator)
@DeprecatedSE int bulkUpdate(StringSE queryString, ObjectSE... values) throws DataAccessException
execute(org.springframework.orm.hibernate5.HibernateCallback<T>)
メソッドに渡されるカスタム HibernateCallback
ラムダコードブロックを使用します。queryString
- Hibernate のクエリ言語で表現された更新 / 削除クエリ values
- パラメーターの値 DataAccessException
- Hibernate エラーの場合 Session.createQuery(java.lang.String, java.lang.Class<T>)
, Query.executeUpdate()
EE