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