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