public class HibernateTemplate extends java.lang.Object implements HibernateOperations, InitializingBean
org.springframework.dao 例外階層に従って、HibernateExceptions を DataAccessExceptions に自動的に変換します。 中心的なメソッドは execute で、HibernateCallback インターフェースを実装する Hibernate アクセスコードをサポートします。これは、HibernateCallback 実装も呼び出しコードも Hibernate セッションの取得 / クローズ、またはセッションライフサイクル例外の処理を明示的に考慮する必要がないように、Hibernate セッション処理を提供します。典型的なシングルステップアクションには、さまざまな便利なメソッドがあります(find、load、saveOrUpdate、delete)。
SessionFactory 参照を使用して直接インスタンス化することにより、サービス実装内で使用できます。または、アプリケーションコンテキストで準備し、Bean 参照としてサービスに提供できます。注: アプリケーションコンテキストでは SessionFactory を常に Bean として構成する必要があります。最初のケースではサービスに直接、2 番目のケースでは準備されたテンプレートに設定します。
NOTE: Hibernate アクセスコードは、ネイティブ Hibernate Session に対してコーディングすることもできます。新しく開始したプロジェクトでは、SessionFactory.getCurrentSession() に対して標準の Hibernate スタイルのコーディングを採用することを検討してください。または、Java 8 ラムダコードブロックを含む execute(HibernateCallback) をコールバック提供の Session に対して使用します。これにより、Hibernate セッションライフサイクルから切り離されたエレガントなコードも生成されます。この HibernateTemplate の残りの操作は当面は非推奨となり、主に既存のアプリケーションの古い Hibernate 3.x/4.x データアクセスコードの移行ヘルパーとして存在します。
setSessionFactory(org.hibernate.SessionFactory), HibernateCallback, Session, LocalSessionFactoryBean, HibernateTransactionManager, OpenSessionInViewFilter, OpenSessionInViewInterceptor| コンストラクターと説明 |
|---|
HibernateTemplate() 新しい HibernateTemplate インスタンスを作成します。 |
HibernateTemplate(SessionFactory sessionFactory) 新しい HibernateTemplate インスタンスを作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | afterPropertiesSet() |
protected void | applyNamedParameterToQuery(Query queryObject, java.lang.String paramName, java.lang.Object value) 使用すべきではありません。 |
int | bulkUpdate(java.lang.String queryString, java.lang.Object... values) 使用すべきではありません。 |
protected void | checkWriteOperationAllowed(Session session) 特定のセッションで書き込み操作が許可されているかどうかを確認します。 |
void | clear()Session キャッシュからすべてのオブジェクトを削除し、保留中のすべての保存、更新、削除をキャンセルします。 |
void | closeIterator(java.util.Iterator<?> it) 使用すべきではありません。 |
boolean | contains(java.lang.Object entity) 指定されたオブジェクトがセッションキャッシュにあるかどうかを確認します。 |
protected Session | createSessionProxy(Session session) 指定された Hibernate セッションのクローズ抑制プロキシを作成します。 |
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) 指定されたすべての永続インスタンスを削除します。 |
protected void | disableFilters(Session session) 指定されたセッションで指定されたフィルターを無効にします。 |
protected <T> T | doExecute(HibernateCallback<T> action, boolean enforceNativeSession)Session 内の指定されたアクションオブジェクトによって指定されたアクションを実行します。 |
Filter | enableFilter(java.lang.String filterName) 指定されたフィルター名に対して有効な Hibernate Filter を返します。 |
protected void | enableFilters(Session session) 指定されたセッションで指定されたフィルターを有効にします。 |
void | evict(java.lang.Object entity)Session キャッシュから指定されたオブジェクトを削除します。 |
<T> T | execute(HibernateCallback<T> action)Session 内の指定されたアクションオブジェクトによって指定されたアクションを実行します。 |
<T> T | executeWithNativeSession(HibernateCallback<T> action) ネイティブ Session 内の指定されたアクションオブジェクトで指定されたアクションを実行します。 |
java.util.List<?> | find(java.lang.String queryString, java.lang.Object... values) 使用すべきではありません。 |
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) 使用すべきではありません。 |
java.util.List<?> | findByNamedParam(java.lang.String queryString, java.lang.String paramName, java.lang.Object value) 使用すべきではありません。 |
java.util.List<?> | findByNamedQuery(java.lang.String queryName, java.lang.Object... values) 使用すべきではありません。 |
java.util.List<?> | findByNamedQueryAndNamedParam(java.lang.String queryName, java.lang.String[] paramNames, java.lang.Object[] values) 使用すべきではありません。 |
java.util.List<?> | findByNamedQueryAndNamedParam(java.lang.String queryName, java.lang.String paramName, java.lang.Object value) 使用すべきではありません。 |
java.util.List<?> | findByNamedQueryAndValueBean(java.lang.String queryName, java.lang.Object valueBean) 使用すべきではありません。 |
java.util.List<?> | findByValueBean(java.lang.String queryString, java.lang.Object valueBean) 使用すべきではありません。 |
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 を返します。 |
int | getFetchSize() この HibernateTemplate に指定されたフェッチサイズを返します。 |
java.lang.String[] | getFilterNames() アクティブ化する Hibernate フィルターの名前を返します(ある場合)。 |
int | getMaxResults() この HibernateTemplate に指定された行の最大数を返します。 |
java.lang.String | getQueryCacheRegion() このテンプレートによって実行されるクエリのキャッシュ領域の名前を返します。 |
SessionFactory | getSessionFactory()Hibernate セッションの作成に使用する Hibernate SessionFactory を返します。 |
void | initialize(java.lang.Object proxy)Hibernate プロキシまたは永続コレクションの強制初期化。 |
boolean | isCacheQueries() このテンプレートによって実行されるすべてのクエリをキャッシュするかどうかを返します。 |
boolean | isCheckWriteOperations() 書き込み操作(保存 / 更新 / 削除)の場合に、Hibernate セッションが読み取り専用モードでないことを確認するかどうかを返します。 |
boolean | isExposeNativeSession() ネイティブ Hibernate セッションを HibernateCallback コードに公開するか、それともセッションプロキシに公開するかを返します。 |
java.util.Iterator<?> | iterate(java.lang.String queryString, java.lang.Object... values) 使用すべきではありません。 |
<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) 指定されたオブジェクトの状態を同じ識別子を持つ永続オブジェクトにコピーします。 |
protected SessionFactory | obtainSessionFactory() 実際に使用するために SessionFactory を取得します。 |
void | persist(java.lang.Object entity) 指定された一時インスタンスを永続化します。 |
void | persist(java.lang.String entityName, java.lang.Object entity) 指定された一時インスタンスを永続化します。 |
protected void | prepareCriteria(Criteria criteria) キャッシュ設定やトランザクションタイムアウトを適用して、指定された Criteria オブジェクトを準備します。 |
protected void | prepareQuery(Query queryObject) キャッシュ設定やトランザクションタイムアウトを適用して、指定された Query オブジェクトを準備します。 |
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 | setCacheQueries(boolean cacheQueries) このテンプレートによって実行されるすべてのクエリをキャッシュするかどうかを設定します。 |
void | setCheckWriteOperations(boolean checkWriteOperations) 書き込み操作(保存 / 更新 / 削除)の場合に、Hibernate セッションが読み取り専用モードでないことを確認するかどうかを設定します。 |
void | setExposeNativeSession(boolean exposeNativeSession) ネイティブ Hibernate セッションを HibernateCallback コードに公開するかどうかを設定します。 |
void | setFetchSize(int fetchSize) この HibernateTemplate のフェッチサイズを設定します。 |
void | setFilterNames(java.lang.String... filterNames) このアクセサーが使用するすべてのセッションでアクティブになる Hibernate フィルターの名前を 1 つ以上設定します。 |
void | setMaxResults(int maxResults) この HibernateTemplate の最大行数を設定します。 |
void | setQueryCacheRegion(java.lang.String queryCacheRegion) このテンプレートによって実行されるクエリのキャッシュ領域の名前を設定します。 |
void | setSessionFactory(SessionFactory sessionFactory)Hibernate セッションの作成に使用する Hibernate SessionFactory を設定します。 |
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 に関連付けます。 |
protected final Log logger
public HibernateTemplate()
public HibernateTemplate(SessionFactory sessionFactory)
sessionFactory - SessionFactory でセッションを作成する public void setSessionFactory(@Nullable SessionFactory sessionFactory)
@Nullable public SessionFactory getSessionFactory()
protected final SessionFactory obtainSessionFactory()
null ではない)java.lang.IllegalStateException - SessionFactory セットがない場合 public void setFilterNames(@Nullable java.lang.String... filterNames)
これらの各フィルターは、各操作の開始時に有効になり、操作の終了時に対応して無効になります。これは、新しく開かれたセッションだけでなく、既存のセッション(トランザクション内など)でも機能します。
@Nullable public java.lang.String[] getFilterNames()
public void setExposeNativeSession(boolean exposeNativeSession)
デフォルトは「false」: セッションプロキシが返され、close 呼び出しが抑制され、クエリキャッシュ設定とトランザクションタイムアウトが自動的に適用されます。
public boolean isExposeNativeSession()
public void setCheckWriteOperations(boolean checkWriteOperations)
デフォルトは "true" で、読み取り専用トランザクション内で書き込み操作を試みたときのフェイルファスト動作です。これをオフにすると、フラッシュモード MANUAL のセッションで保存 / 更新 / 削除が可能になります。
public boolean isCheckWriteOperations()
public void setCacheQueries(boolean cacheQueries)
これが "true" の場合、このテンプレートによって作成されたすべての Query オブジェクトと Criteria オブジェクトは、キャッシュ可能としてマークされます(find メソッドによるすべてのクエリを含む)。
このテンプレートによってキャッシュされるクエリに使用するクエリ領域を指定するには、"queryCacheRegion" プロパティを設定します。
public boolean isCacheQueries()
public void setQueryCacheRegion(@Nullable java.lang.String queryCacheRegion)
これが指定されている場合、このテンプレートによって作成されたすべての Query オブジェクトと Criteria オブジェクト(find メソッドによるすべてのクエリを含む)に適用されます。
このテンプレートによって作成されたクエリが "cacheQueries" プロパティを介してキャッシュされるように構成されていない限り、キャッシュ領域は有効になりません。
@Nullable public java.lang.String getQueryCacheRegion()
public void setFetchSize(int fetchSize)
デフォルトは 0 で、JDBC ドライバーのデフォルトを使用することを示します。
public int getFetchSize()
public void setMaxResults(int maxResults)
デフォルトは 0 で、JDBC ドライバーのデフォルトを使用することを示します。
public int getMaxResults()
public void afterPropertiesSet()
InitializingBeanBeanFactoryAware、ApplicationContextAware などを満たした後、包含 BeanFactory によって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
InitializingBean 内の afterPropertiesSet @Nullable public <T> T execute(HibernateCallback<T> action) throws DataAccessException
HibernateOperationsSession 内の指定されたアクションオブジェクトによって指定されたアクションを実行します。アクションオブジェクトによってスローされたアプリケーションの例外は、呼び出し元に伝達されます(チェック解除のみ可能)。Hibernate 例外は適切な DAO 例外に変換されます。ドメインオブジェクトまたはドメインオブジェクトのコレクションである結果オブジェクトを返すことができます。
メモ: コールバックコードはトランザクション自体を処理するためのものではありません。HibernateTransactionManager などの適切なトランザクションマネージャーを使用します。一般に、コールバックコードは、Session ライフサイクルメソッド(クローズ、切断、再接続など)に触れて、テンプレートが機能しないようにする必要があります。
HibernateOperations 内の execute action - Hibernate アクションを指定するコールバックオブジェクト nullDataAccessException - Hibernate エラーの場合 HibernateTransactionManager, Session@Nullable public <T> T executeWithNativeSession(HibernateCallback<T> action)
Session 内の指定されたアクションオブジェクトで指定されたアクションを実行します。 この実行バリアントは、テンプレート全体の "exposeNativeSession" 設定をオーバーライドします。
action - Hibernate アクションを指定するコールバックオブジェクト nullDataAccessException - Hibernate エラーの場合 @Nullable protected <T> T doExecute(HibernateCallback<T> action, boolean enforceNativeSession) throws DataAccessException
action - Hibernate アクションを指定するコールバックオブジェクト enforceNativeSession - コールバックコードへのネイティブ Hibernate セッションの公開を強制するかどうか nullDataAccessException - Hibernate エラーの場合 protected Session createSessionProxy(Session session)
session - プロキシを作成する Hibernate セッション SharedSessionContract.close(), prepareQuery(org.hibernate.Query), prepareCriteria(org.hibernate.Criteria)protected void enableFilters(Session session)
session - 現在の Hibernate セッション setFilterNames(java.lang.String...), Session.enableFilter(String)protected void disableFilters(Session session)
session - 現在の Hibernate セッション setFilterNames(java.lang.String...), Session.disableFilter(String)@Nullable public <T> T get(java.lang.Class<T> entityClass, java.io.Serializable id) throws DataAccessException
HibernateOperationsnull を返します。 このメソッドは、便宜上、Session.get(Class, Serializable) の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。
HibernateOperations 内の get entityClass - 永続クラス id - 永続インスタンスの識別子 null DataAccessException - Hibernate エラーの場合 Session.get(Class, Serializable)@Nullable public <T> T get(java.lang.Class<T> entityClass, java.io.Serializable id, @Nullable LockMode lockMode) throws DataAccessException
HibernateOperationsnull を返します。インスタンスが存在する場合、指定されたロックモードを取得します。
このメソッドは、便宜上、Session.get(Class, Serializable, LockMode) の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。
HibernateOperations 内の get entityClass - 永続クラス id - 永続インスタンスの識別子 lockMode - 取得するロックモード null DataAccessException - Hibernate エラーの場合 Session.get(Class, Serializable, LockMode)@Nullable public java.lang.Object get(java.lang.String entityName, java.io.Serializable id) throws DataAccessException
HibernateOperationsnull を返します。 このメソッドは、便宜上、Session.get(String, Serializable) の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。
HibernateOperations 内の get entityName - 永続エンティティの名前 id - 永続インスタンスの識別子 null DataAccessException - Hibernate エラーの場合 Session.get(Class, Serializable)@Nullable public java.lang.Object get(java.lang.String entityName, java.io.Serializable id, @Nullable LockMode lockMode) throws DataAccessException
HibernateOperationsnull を返します。インスタンスが存在する場合、指定されたロックモードを取得します。 このメソッドは、便宜上、Session.get(String, Serializable, LockMode) の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。
HibernateOperations 内の get entityName - 永続エンティティの名前 id - 永続インスタンスの識別子 lockMode - 取得するロックモード null DataAccessException - Hibernate エラーの場合 Session.get(Class, Serializable, LockMode)public <T> T load(java.lang.Class<T> entityClass,
java.io.Serializable id)
throws DataAccessExceptionHibernateOperations このメソッドは、便宜上、Session.load(Class, Serializable) の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。
HibernateOperations 内の load entityClass - 永続クラス id - 永続インスタンスの識別子 ObjectRetrievalFailureException - 見つからない場合 DataAccessException - Hibernate エラーの場合 Session.load(Class, Serializable)public <T> T load(java.lang.Class<T> entityClass,
java.io.Serializable id,
@Nullable
LockMode lockMode)
throws DataAccessExceptionHibernateOperations このメソッドは、便宜上、Session.load(Class, Serializable, LockMode) の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。
HibernateOperations 内の load entityClass - 永続クラス id - 永続インスタンスの識別子 lockMode - 取得するロックモード ObjectRetrievalFailureException - 見つからない場合 DataAccessException - Hibernate エラーの場合 Session.load(Class, Serializable)public java.lang.Object load(java.lang.String entityName,
java.io.Serializable id)
throws DataAccessExceptionHibernateOperations このメソッドは、便宜上、Session.load(String, Serializable) の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。
HibernateOperations 内の load entityName - 永続エンティティの名前 id - 永続インスタンスの識別子 ObjectRetrievalFailureException - 見つからない場合 DataAccessException - Hibernate エラーの場合 Session.load(Class, Serializable)public java.lang.Object load(java.lang.String entityName,
java.io.Serializable id,
@Nullable
LockMode lockMode)
throws DataAccessExceptionHibernateOperationsインスタンスが存在する場合、指定されたロックモードを取得します。
このメソッドは、便宜上、Session.load(String, Serializable, LockMode) の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。
HibernateOperations 内の load entityName - 永続エンティティの名前 id - 永続インスタンスの識別子 lockMode - 取得するロックモード ObjectRetrievalFailureException - 見つからない場合 DataAccessException - Hibernate エラーの場合 Session.load(Class, Serializable)public <T> java.util.List<T> loadAll(java.lang.Class<T> entityClass)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の loadAll entityClass - 永続クラス List DataAccessException - Hibernate エラーがある場合 SharedSessionContract.createCriteria(java.lang.Class)public void load(java.lang.Object entity,
java.io.Serializable id)
throws DataAccessExceptionHibernateOperations このメソッドは、便宜上、Session.load(Object, Serializable) の薄いラッパーです。このメソッドの正確なセマンティクスの説明については、最初のインスタンスの Hibernate API ドキュメントを参照してください。
HibernateOperations 内の load entity - ロードする(ターゲットクラスの)オブジェクト id - 永続インスタンスの識別子 ObjectRetrievalFailureException - 見つからない場合 DataAccessException - Hibernate エラーの場合 Session.load(Object, Serializable)public void refresh(java.lang.Object entity)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の refresh entity - 再読み取りする永続インスタンス DataAccessException - Hibernate エラーの場合 Session.refresh(Object)public void refresh(java.lang.Object entity,
@Nullable
LockMode lockMode)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の refresh entity - 再読み取りする永続インスタンス lockMode - 取得するロックモード DataAccessException - Hibernate エラーの場合 Session.refresh(Object, LockMode)public boolean contains(java.lang.Object entity)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の contains entity - チェックする永続性インスタンス DataAccessException - Hibernate エラーがある場合 Session.contains(java.lang.String, java.lang.Object)public void evict(java.lang.Object entity)
throws DataAccessExceptionHibernateOperationsSession キャッシュから指定されたオブジェクトを削除します。HibernateOperations 内の evict entity - 削除する永続インスタンス DataAccessException - Hibernate エラーの場合 Session.evict(java.lang.Object)public void initialize(java.lang.Object proxy)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の initialize proxy - 永続オブジェクトまたは永続コレクションのプロキシ DataAccessException - たとえば、アクティブなセッションに関連付けられていないために、プロキシを初期化できない場合 Hibernate.initialize(java.lang.Object)public Filter enableFilter(java.lang.String filterName) throws java.lang.IllegalStateException
HibernateOperationsFilter を返します。返された Filter インスタンスを使用して、フィルターパラメーターを設定できます。HibernateOperations 内の enableFilter filterName - フィルターの名前 Filter (この操作によりすでに有効になっているか、オンザフライで有効になっています)java.lang.IllegalStateException - トランザクションセッション内で実行していない場合 (この場合、この操作は意味がありません)public void lock(java.lang.Object entity,
LockMode lockMode)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の lock entity - ロックする永続インスタンス lockMode - 取得するロックモード ObjectOptimisticLockingFailureException - 見つからない場合 DataAccessException - Hibernate エラーの場合 Session.lock(Object, LockMode)public void lock(java.lang.String entityName,
java.lang.Object entity,
LockMode lockMode)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の lock entityName - 永続エンティティの名前 entity - ロックする永続インスタンス lockMode - 取得するロックモード ObjectOptimisticLockingFailureException - 見つからない場合 DataAccessException - Hibernate エラーの場合 Session.lock(String, Object, LockMode)public java.io.Serializable save(java.lang.Object entity)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の save entity - 永続化する一時インスタンス DataAccessException - Hibernate エラーの場合 Session.save(Object)public java.io.Serializable save(java.lang.String entityName,
java.lang.Object entity)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の save entityName - 永続エンティティの名前 entity - 永続化する一時インスタンス DataAccessException - Hibernate エラーの場合 Session.save(String, Object)public void update(java.lang.Object entity)
throws DataAccessExceptionHibernateOperationsSession に関連付けます。HibernateOperations 内の update entity - 更新する永続インスタンス DataAccessException - Hibernate エラーの場合 Session.update(Object)public void update(java.lang.Object entity,
@Nullable
LockMode lockMode)
throws DataAccessExceptionHibernateOperationsSession に関連付けます。インスタンスが存在する場合、指定されたロックモードを取得し、対応するデータベースエントリがまだ存在するかどうかを暗黙的にチェックします。
HibernateOperations 内の update entity - 更新する永続インスタンス lockMode - 取得するロックモード ObjectOptimisticLockingFailureException - 見つからない場合 DataAccessException - Hibernate エラーの場合 Session.update(Object)public void update(java.lang.String entityName,
java.lang.Object entity)
throws DataAccessExceptionHibernateOperationsSession に関連付けます。HibernateOperations 内の update entityName - 永続エンティティの名前 entity - 更新する永続インスタンス DataAccessException - Hibernate エラーの場合 Session.update(String, Object)public void update(java.lang.String entityName,
java.lang.Object entity,
@Nullable
LockMode lockMode)
throws DataAccessExceptionHibernateOperationsSession に関連付けます。インスタンスが存在する場合、指定されたロックモードを取得し、対応するデータベースエントリがまだ存在するかどうかを暗黙的にチェックします。
HibernateOperations 内の update entityName - 永続エンティティの名前 entity - 更新する永続インスタンス lockMode - 取得するロックモード ObjectOptimisticLockingFailureException - 見つからない場合 DataAccessException - Hibernate エラーの場合 Session.update(String, Object)public void saveOrUpdate(java.lang.Object entity)
throws DataAccessExceptionHibernateOperationsSession に関連付けます。HibernateOperations 内の saveOrUpdate entity - 保存または更新する永続インスタンス (Hibernate Session に関連付ける)DataAccessException - Hibernate エラーの場合 Session.saveOrUpdate(Object)public void saveOrUpdate(java.lang.String entityName,
java.lang.Object entity)
throws DataAccessExceptionHibernateOperationsSession に関連付けます。HibernateOperations 内の saveOrUpdate entityName - 永続エンティティの名前 entity - 保存または更新する永続インスタンス (Hibernate Session に関連付ける)DataAccessException - Hibernate エラーの場合 Session.saveOrUpdate(String, Object)public void replicate(java.lang.Object entity,
ReplicationMode replicationMode)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の replicate entity - 複製する永続オブジェクト replicationMode - Hibernate ReplicationModeDataAccessException - Hibernate エラーの場合 Session.replicate(Object, ReplicationMode)public void replicate(java.lang.String entityName,
java.lang.Object entity,
ReplicationMode replicationMode)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の replicate entityName - 永続エンティティの名前 entity - 複製する永続オブジェクト replicationMode - Hibernate ReplicationModeDataAccessException - Hibernate エラーの場合 Session.replicate(String, Object, ReplicationMode)public void persist(java.lang.Object entity)
throws DataAccessExceptionHibernateOperationssave と同様に、指定されたオブジェクトを現在の Hibernate Session に関連付けます。
HibernateOperations 内の persist entity - 永続化する永続インスタンス DataAccessException - Hibernate エラーの場合 Session.persist(Object), HibernateOperations.save(java.lang.Object)public void persist(java.lang.String entityName,
java.lang.Object entity)
throws DataAccessExceptionHibernateOperationssave と同様に、指定されたオブジェクトを現在の Hibernate Session に関連付けます。
HibernateOperations 内の persist entityName - 永続エンティティの名前 entity - 永続化する永続インスタンス DataAccessException - Hibernate エラーの場合 Session.persist(String, Object), HibernateOperations.save(java.lang.Object)public <T> T merge(T entity)
throws DataAccessExceptionHibernateOperationssaveOrUpdate に似ていますが、指定されたオブジェクトを現在の Hibernate セッションに関連付けません。新しいエンティティの場合、状態もコピーされます。
merge は(TopLink とは対照的に)渡されたオブジェクトグラフの識別子を更新しないことに注意してください! 新しく割り当てられた ID を元のオブジェクトグラフにも転送する場合は、Spring の IdTransferringMergeEventListener の登録を検討してください。
HibernateOperations 内の merge entity - 対応する永続化インスタンスとマージするオブジェクト DataAccessException - Hibernate エラーの場合 Session.merge(Object), HibernateOperations.saveOrUpdate(java.lang.Object)public <T> T merge(java.lang.String entityName,
T entity)
throws DataAccessExceptionHibernateOperationssaveOrUpdate に似ていますが、指定されたオブジェクトを現在の Hibernate Session に関連付けません。新しいエンティティの場合、状態もコピーされます。
merge は(TopLink とは対照的に)渡されたオブジェクトグラフの識別子を更新しないことに注意してください! 新しく割り当てられた ID を元のオブジェクトグラフにも転送する場合は、Spring の IdTransferringMergeEventListener の登録を検討してください。
HibernateOperations 内の merge entityName - 永続エンティティの名前 entity - 対応する永続化インスタンスとマージするオブジェクト DataAccessException - Hibernate エラーの場合 Session.merge(String, Object), HibernateOperations.saveOrUpdate(java.lang.Object)public void delete(java.lang.Object entity)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の delete entity - 削除する永続インスタンス DataAccessException - Hibernate エラーの場合 Session.delete(Object)public void delete(java.lang.Object entity,
@Nullable
LockMode lockMode)
throws DataAccessExceptionHibernateOperationsインスタンスが存在する場合、指定されたロックモードを取得し、対応するデータベースエントリがまだ存在するかどうかを暗黙的にチェックします。
HibernateOperations 内の delete entity - 削除する永続インスタンス lockMode - 取得するロックモード ObjectOptimisticLockingFailureException - 見つからない場合 DataAccessException - Hibernate エラーの場合 Session.delete(Object)public void delete(java.lang.String entityName,
java.lang.Object entity)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の delete entityName - 永続エンティティの名前 entity - 削除する永続インスタンス DataAccessException - Hibernate エラーの場合 Session.delete(Object)public void delete(java.lang.String entityName,
java.lang.Object entity,
@Nullable
LockMode lockMode)
throws DataAccessExceptionHibernateOperationsインスタンスが存在する場合、指定されたロックモードを取得し、対応するデータベースエントリがまだ存在するかどうかを暗黙的にチェックします。
HibernateOperations 内の delete entityName - 永続エンティティの名前 entity - 削除する永続インスタンス lockMode - 取得するロックモード ObjectOptimisticLockingFailureException - 見つからない場合 DataAccessException - Hibernate エラーの場合 Session.delete(Object)public void deleteAll(java.util.Collection<?> entities)
throws DataAccessExceptionHibernateOperationsこれを任意の find メソッドと組み合わせて、2 行のコードでクエリによって削除できます。
HibernateOperations 内の deleteAll entities - 削除する永続インスタンス DataAccessException - Hibernate エラーの場合 Session.delete(Object)public void flush()
throws DataAccessExceptionHibernateOperationsたとえば、JDBC コードが同じトランザクション内の特定の変更を確認する必要がある場合など、選択的な積極的なフラッシュのためにのみこれを呼び出します。それ以外の場合は、トランザクション完了時に自動フラッシュを利用することをお勧めします。
HibernateOperations 内の flush DataAccessException - Hibernate エラーの場合 Session.flush()public void clear()
throws DataAccessExceptionHibernateOperationsSession キャッシュからすべてのオブジェクトを削除し、保留中のすべての保存、更新、削除をキャンセルします。HibernateOperations 内の clear DataAccessException - Hibernate エラーの場合 Session.clear()public java.util.List<?> findByCriteria(DetachedCriteria criteria) throws DataAccessException
HibernateOperationsHibernateOperations 内の findByCriteria criteria - デタッチされた Hibernate 条件オブジェクト。 注: 条件オブジェクトを再利用しないでください! Hibernate の条件機能の設計が最適ではないため、実行ごとに再作成する必要があります。List DataAccessException - Hibernate エラーの場合 DetachedCriteria.getExecutableCriteria(org.hibernate.Session)public java.util.List<?> findByCriteria(DetachedCriteria criteria, int firstResult, int maxResults) throws DataAccessException
HibernateOperationsHibernateOperations 内の findByCriteria criteria - デタッチされた Hibernate 条件オブジェクト。 注: 条件オブジェクトを再利用しないでください! Hibernate の条件機能の設計が最適ではないため、実行ごとに再作成する必要があります。firstResult - 取得する最初の結果オブジェクトのインデックス (0 から番号付け)maxResults - 取得する結果オブジェクトの最大数 (または無制限の場合は<= 0)List DataAccessException - Hibernate エラーの場合 DetachedCriteria.getExecutableCriteria(org.hibernate.Session), Criteria.setFirstResult(int), Criteria.setMaxResults(int)public <T> java.util.List<T> findByExample(T exampleEntity)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の findByExample exampleEntity - "query-by-example" の例として機能する、目的のエンティティのインスタンス List DataAccessException - Hibernate エラーの場合 Example.create(Object)public <T> java.util.List<T> findByExample(java.lang.String entityName,
T exampleEntity)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の findByExample entityName - 永続エンティティの名前 exampleEntity - "query-by-example" の例として機能する、目的のエンティティのインスタンス List DataAccessException - Hibernate エラーの場合 Example.create(Object)public <T> java.util.List<T> findByExample(T exampleEntity,
int firstResult,
int maxResults)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の findByExample exampleEntity - "query-by-example" の例として機能する、目的のエンティティのインスタンス firstResult - 取得する最初の結果オブジェクトのインデックス (0 から番号付け)maxResults - 取得する結果オブジェクトの最大数 (または無制限の場合は<= 0)List DataAccessException - Hibernate エラーの場合 Example.create(Object), Criteria.setFirstResult(int), Criteria.setMaxResults(int)public <T> java.util.List<T> findByExample(@Nullable java.lang.String entityName, T exampleEntity, int firstResult, int maxResults) throws DataAccessException
HibernateOperationsHibernateOperations 内の findByExample entityName - 永続エンティティの名前 exampleEntity - "query-by-example" の例として機能する、目的のエンティティのインスタンス firstResult - 取得する最初の結果オブジェクトのインデックス (0 から番号付け)maxResults - 取得する結果オブジェクトの最大数 (または無制限の場合は<= 0)List DataAccessException - Hibernate エラーの場合 Example.create(Object), Criteria.setFirstResult(int), Criteria.setMaxResults(int)@Deprecated
public java.util.List<?> find(java.lang.String queryString,
@Nullable
java.lang.Object... values)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の find queryString - Hibernate のクエリ言語で表現されたクエリ values - パラメーターの値 List DataAccessException - Hibernate エラーの場合 Session.createQuery(java.lang.String)@Deprecated
public java.util.List<?> findByNamedParam(java.lang.String queryString,
java.lang.String paramName,
java.lang.Object value)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の findByNamedParam queryString - Hibernate のクエリ言語で表現されたクエリ paramName - パラメーターの名前 value - パラメーターの値 List DataAccessException - Hibernate エラーの場合 Session.getNamedQuery(String)@Deprecated
public java.util.List<?> findByNamedParam(java.lang.String queryString,
java.lang.String[] paramNames,
java.lang.Object[] values)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の findByNamedParam queryString - Hibernate のクエリ言語で表現されたクエリ paramNames - パラメーターの名前 values - パラメーターの値 List DataAccessException - Hibernate エラーの場合 Session.getNamedQuery(String)@Deprecated
public java.util.List<?> findByValueBean(java.lang.String queryString,
java.lang.Object valueBean)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の findByValueBean queryString - Hibernate のクエリ言語で表現されたクエリ valueBean - パラメーターの値 List DataAccessException - Hibernate エラーの場合 Query.setProperties(java.lang.Object), Session.createQuery(java.lang.String)@Deprecated
public java.util.List<?> findByNamedQuery(java.lang.String queryName,
@Nullable
java.lang.Object... values)
throws DataAccessExceptionHibernateOperations名前付きクエリは、Hibernate マッピングファイルで定義されます。
HibernateOperations 内の findByNamedQuery queryName - マッピングファイル内の Hibernate クエリの名前 values - パラメーターの値 List DataAccessException - Hibernate エラーの場合 Session.getNamedQuery(String)@Deprecated
public java.util.List<?> findByNamedQueryAndNamedParam(java.lang.String queryName,
java.lang.String paramName,
java.lang.Object value)
throws DataAccessExceptionHibernateOperations名前付きクエリは、Hibernate マッピングファイルで定義されます。
HibernateOperations 内の findByNamedQueryAndNamedParam queryName - マッピングファイル内の Hibernate クエリの名前 paramName - パラメーターの名前 value - パラメーターの値 List DataAccessException - Hibernate エラーの場合 Session.getNamedQuery(String)@Deprecated
public java.util.List<?> findByNamedQueryAndNamedParam(java.lang.String queryName,
@Nullable
java.lang.String[] paramNames,
@Nullable
java.lang.Object[] values)
throws DataAccessExceptionHibernateOperations名前付きクエリは、Hibernate マッピングファイルで定義されます。
HibernateOperations 内の findByNamedQueryAndNamedParam queryName - マッピングファイル内の Hibernate クエリの名前 paramNames - パラメーターの名前 values - パラメーターの値 List DataAccessException - Hibernate エラーの場合 Session.getNamedQuery(String)@Deprecated
public java.util.List<?> findByNamedQueryAndValueBean(java.lang.String queryName,
java.lang.Object valueBean)
throws DataAccessExceptionHibernateOperations名前付きクエリは、Hibernate マッピングファイルで定義されます。
HibernateOperations 内の findByNamedQueryAndValueBean queryName - マッピングファイル内の Hibernate クエリの名前 valueBean - パラメーターの値 List DataAccessException - Hibernate エラーの場合 Query.setProperties(java.lang.Object), Session.getNamedQuery(String)@Deprecated
public java.util.Iterator<?> iterate(java.lang.String queryString,
@Nullable
java.lang.Object... values)
throws DataAccessExceptionHibernateOperations 結果を Iterator として返します。返されるエンティティはオンデマンドで初期化されます。詳細については、Hibernate API のドキュメントを参照してください。
HibernateOperations 内の iterate queryString - Hibernate のクエリ言語で表現されたクエリ values - パラメーターの値 Iterator DataAccessException - Hibernate エラーの場合 Session.createQuery(java.lang.String), Query.iterate()@Deprecated
public void closeIterator(java.util.Iterator<?> it)
throws DataAccessExceptionHibernateOperationsiterate(..) 操作のいずれかによって作成された Iterator をすぐに閉じます。HibernateOperations 内の closeIterator it - 閉じる Iterator DataAccessException - Iterator を閉じることができなかった場合 Hibernate.close(java.util.Iterator)@Deprecated
public int bulkUpdate(java.lang.String queryString,
@Nullable
java.lang.Object... values)
throws DataAccessExceptionHibernateOperationsHibernateOperations 内の bulkUpdate queryString - Hibernate のクエリ言語で表現された更新 / 削除クエリ values - パラメーターの値 DataAccessException - Hibernate エラーの場合 Session.createQuery(java.lang.String), Query.executeUpdate()EEprotected void checkWriteOperationAllowed(Session session) throws InvalidDataAccessApiUsageException
FlushMode.MANUAL の場合、デフォルトの実装は InvalidDataAccessApiUsageException をスローします。サブクラスでオーバーライドできます。
session - 現在の Hibernate セッション InvalidDataAccessApiUsageException - 書き込み操作が許可されていない場合 setCheckWriteOperations(boolean), Session.getFlushMode(), FlushMode.MANUALprotected void prepareCriteria(Criteria criteria)
criteria - 準備する Criteria オブジェクト setCacheQueries(boolean), setQueryCacheRegion(java.lang.String)protected void prepareQuery(Query queryObject)
queryObject - 準備する Query オブジェクト setCacheQueries(boolean), setQueryCacheRegion(java.lang.String)@Deprecated protected void applyNamedParameterToQuery(Query queryObject, java.lang.String paramName, java.lang.Object value) throws HibernateException
queryObject - Query オブジェクト paramName - パラメーターの名前 value - パラメーターの値 HibernateException - Query オブジェクトによってスローされた場合