パッケージ org.iplass.mtp.entity
インタフェース EntityManager
- すべてのスーパーインタフェース:
Manager
Entityを管理するクラスのインタフェースです。 EntityManagerを利用し、定義されているEntityのデータのCRUD操作が可能です。
EntityManager操作中に、例外が発生した場合のトランザクションに関する挙動は次の形となります。
SystemException
およびRuntime例外、エラー:トランザクションは自動的にsetRollbackOnlyに設定されるApplicationException
:参照メソッド(load,searchなど)では、トランザクションはsetRollbackOnlyに設定されない。更新系メソッドでは自動的にsetRollbackOnlyに設定される
-
メソッドの概要
修飾子とタイプメソッド説明指定のEntityキー情報で特定されるデータを取得します。batchLoad
(List<EntityKey> keys, String definitionName, LoadOption option) 指定のEntityキー情報で特定されるデータを取得します。void
bulkUpdate
(BulkUpdatable bulkUpdatable) bulkUpdatableで指定される一連のEntityを一括で更新(Insert/Update/Delete)します。int
検索件数を取得します。createBinaryReference
(File file, String name, String type) BinaryReferenceを新規に作成します。createBinaryReference
(String name, String type, InputStream is) BinaryReferenceを新規に作成します。指定のoid(オブジェクトID)で一意に特定されるデータを取得し、参照先を含めたコピーを行います。deepCopy
(String oid, String definitionName, DeepCopyOption option) 指定のoid(オブジェクトID)で一意に特定されるデータを取得し、参照先を含めたコピーを行います。void
delete
(Entity entity, DeleteOption option) 引数のentityに設定されたoid(オブジェクトID)で一意に特定されるデータを削除します。int
deleteAll
(DeleteCondition cond) 引数のcondに一致するデータを一括で削除します。<T extends Entity>
SearchResult<T> fulltextSearchEntity
(String definitionName, String keyword) 指定のワードで全文検索します。<T extends Entity>
SearchResult<T> fulltextSearchEntity
(String keyword, FulltextSearchOption option) 指定のワードで全文検索し、指定プロパティのみを取得します。<T extends Entity>
SearchResult<T> 指定のワードで全文検索し、指定プロパティのみを取得します。<T extends Entity>
SearchResult<T> fulltextSearchEntity
(Query query, String keyword, SearchOption option) クエリ実行結果に対して、指定のワードで全文検索します。fulltextSearchOidList
(String definitionName, String keyword) 指定のワードで全文検索し、oidのリストを取得します。fulltextSearchOidList
(List<String> definitionNames, String keyword) 指定のワードで全文検索し、対象Entity毎のoidリストのMapを取得します。現在の時間を取得します。getInputStream
(BinaryReference binaryReference) 引数で指定されたBinaryReferenceのバイナリデータを取得するためのInputStreamを取得します。getOutputStream
(BinaryReference binaryReference) 引数で指定されたBinaryReferenceのバイナリデータを書き込むためのOutputStreamを取得します。getRecycleBin
(long recycleBinId, String definitionName) ごみ箱の中身から、指定のrecycleBinIdで特定される1件を取得します。void
getRecycleBin
(String definitionName, Predicate<Entity> callback) ごみ箱の中身のリストを取得します。指定の引数のentityを追加します。insert
(Entity entity, InsertOption option) 指定の引数のentityを追加します。指定のoid(Entityオブジェクトを一意に特定するID)、versionで特定されるデータを取得します。load
(String oid, Long version, String definitionName, LoadOption option) 指定のoid(Entityオブジェクトを一意に特定するID)、versionで特定されるデータを取得します。指定のoid(Entityオブジェクトを一意に特定するID)で特定されるデータを取得します。load
(String oid, String definitionName, LoadOption option) 指定のoid(Entityオブジェクトを一意に特定するID)で特定されるデータを取得します。loadAndLock
(String oid, String definitionName) 指定のoid(Entityオブジェクトを一意に特定するID)で一意に特定されるデータを取得し、更新ロックします。loadAndLock
(String oid, String definitionName, LoadOption option) 指定のoid(Entityオブジェクトを一意に特定するID)で一意に特定されるデータを取得し、更新ロックします。loadBinaryReference
(long lobId) 引数で指定されるBinaryReferenceを取得します。boolean
lockByUser
(String oid, String definitionName) 現在、当該メソッドを呼び出しているユーザーにて、 指定のEntityをデータをロックします。void
指定のEntityのプロパティの値を正規化します。void
指定のEntityの指定のプロパティの値を正規化します。void
ごみ箱から、削除します。ごみ箱から復活します。Entityの形ではない、汎用的な検索(複数Entityをまたいだ集計クエリー等)を行うための検索メソッドです。void
Entityの形ではない、汎用的な検索(複数Entityをまたいだ集計クエリー等)を行うためのメソッドです。search
(Query query, SearchOption option) 指定の条件で検索します。void
search
(Query query, SearchOption option, Predicate<Object[]> callback) Entityの形ではない、汎用的な検索(複数Entityをまたいだ集計クエリー等)を行うためのメソッドです。<T extends Entity>
SearchResult<T> searchEntity
(Query query) 指定の条件で検索します。<T extends Entity>
voidsearchEntity
(Query query, Predicate<T> callback) 指定の条件で検索します。<T extends Entity>
SearchResult<T> searchEntity
(Query query, SearchOption option) 指定の条件で検索します。<T extends Entity>
voidsearchEntity
(Query query, SearchOption option, Predicate<T> callback) 指定の条件で検索します。boolean
unlockByUser
(String oid, String definitionName) ユーザーにてロックされているEntityのデータのロックを解除します。void
update
(Entity entity, UpdateOption option) 引数のentityを更新します。int
updateAll
(UpdateCondition cond) 引数のcondに一致するデータを設定された値にて一括更新します。指定のEntityの検証を行います。指定のEntityの指定のプロパティの検証を行います。
-
メソッドの詳細
-
validate
指定のEntityの検証を行います。 検証の前に、プロパティの値は正規化されます。- パラメータ:
entity
- 検証対象のEntity- 戻り値:
- 検証結果
-
validate
指定のEntityの指定のプロパティの検証を行います。 検証の前に、プロパティの値は正規化されます。- パラメータ:
entity
- 検証対象のEntityproperties
- 検証対象のプロパティ名のリスト- 戻り値:
- 検証結果
-
normalize
指定のEntityのプロパティの値を正規化します。- パラメータ:
entity
- 正規化対象のEntity
-
normalize
指定のEntityの指定のプロパティの値を正規化します。- パラメータ:
entity
- 正規化対象のEntityproperties
- 正規化対象のプロパティ名のリスト
-
searchEntity
指定の条件で検索します。- パラメータ:
query
- 検索条件- 戻り値:
- 検索条件に一致したデータのリスト
-
searchEntity
指定の条件で検索します。- パラメータ:
query
- 検索条件option
- 検索処理のオプション指定- 戻り値:
-
searchEntity
指定の条件で検索します。 データ件数が多い場合、取得したデータを一括でロードせずに、1件ずつロードします。 ロードしたデータは、callbackに渡されます。- パラメータ:
query
- 検索条件callback
- 順次読み込んだデータを受けるコールバック処理
-
searchEntity
指定の条件で検索します。 データ件数が多い場合、取得したデータを一括でロードせずに、1件ずつロードします。 ロードしたデータは、callbackに渡されます。
optionでは、SearchOption.unnotifyListeners()
の設定のみ有効です。その他の設定は本メソッド呼び出しでは無視されます。- パラメータ:
query
- 検索条件option
- 検索処理のオプション指定callback
- 順次読み込んだデータを受けるコールバック処理
-
search
Entityの形ではない、汎用的な検索(複数Entityをまたいだ集計クエリー等)を行うための検索メソッドです。- パラメータ:
query
- 検索条件- 戻り値:
- queryに指定されたselect句の項目を保持するObject[]
-
search
指定の条件で検索します。 Entityの形ではない、汎用的な検索(複数Entityをまたいだ集計クエリー等)を行うための検索メソッドです。- パラメータ:
query
- 検索条件option
- 検索処理のオプション指定- 戻り値:
-
search
Entityの形ではない、汎用的な検索(複数Entityをまたいだ集計クエリー等)を行うためのメソッドです。 データ件数が多い場合に利用可能で、取得したデータを一括でロードせずに1件ずつロードするためのメソッドです。 ロードしたデータは、callbackに渡されます。- パラメータ:
query
- 検索条件callback
- 順次読み込んだデータを受けるコールバック処理
-
search
Entityの形ではない、汎用的な検索(複数Entityをまたいだ集計クエリー等)を行うためのメソッドです。 データ件数が多い場合に利用可能で、取得したデータを一括でロードせずに1件ずつロードするためのメソッドです。 ロードしたデータは、callbackに渡されます。
optionでは、SearchOption.unnotifyListeners()
の設定のみ有効です。その他の設定は本メソッド呼び出しでは無視されます。- パラメータ:
query
- 検索条件option
- 検索処理のオプション指定callback
- 順次読み込んだデータを受けるコールバック処理
-
count
検索件数を取得します。- パラメータ:
cond
- 検索条件- 戻り値:
- 実検索件数
-
load
指定のoid(Entityオブジェクトを一意に特定するID)で特定されるデータを取得します。 取得するプロパティは、Entityに定義されているもの全てを取得します。 ReferencePropertyが定義されている場合は、 当該プロパティにはoidとnameが格納されたEntityのインスタンスが格納されます。 ReferencePropertyが指定されている場合で、そのプロパティが複数可の場合は、 当該プロパティはEntity[]の形で取得されます。- パラメータ:
oid
- オブジェクトIDdefinitionName
- Entity定義名- 戻り値:
- oidで指定されるデータ
-
load
指定のoid(Entityオブジェクトを一意に特定するID)、versionで特定されるデータを取得します。 取得するプロパティは、Entityに定義されているもの全てを取得します。 ReferencePropertyが定義されている場合は、 当該プロパティにはoidとnameが格納されたEntityのインスタンスが格納されます。 ReferencePropertyが指定されている場合で、そのプロパティが複数可の場合は、 当該プロパティはEntity[]の形で取得されます。- パラメータ:
oid
- オブジェクトIDversion
- バージョン番号definitionName
- Entity定義名- 戻り値:
- oid,versionで指定されるデータ
-
load
指定のoid(Entityオブジェクトを一意に特定するID)で特定されるデータを取得します。 取得するプロパティは、optionにて指定されたものです。- パラメータ:
oid
- オブジェクトIDdefinitionName
- Entity定義名option
- 読込オプション、読み込むプロパティを指定可能- 戻り値:
- oidで指定されるデータ
-
load
指定のoid(Entityオブジェクトを一意に特定するID)、versionで特定されるデータを取得します。 取得するプロパティは、optionにて指定されたものです。- パラメータ:
oid
- オブジェクトIDversion
- バージョン番号definitionName
- Entity定義名option
- 読込オプション、読み込むプロパティを指定可能- 戻り値:
- oid,versionで指定されるデータ
-
loadAndLock
指定のoid(Entityオブジェクトを一意に特定するID)で一意に特定されるデータを取得し、更新ロックします。 ロックは、トランザクション終了まで保持されます。- パラメータ:
oid
- オブジェクトIDdefinitionName
- Entity定義名- 戻り値:
- oidで指定されるデータ
-
loadAndLock
指定のoid(Entityオブジェクトを一意に特定するID)で一意に特定されるデータを取得し、更新ロックします。 ロックは、トランザクション終了まで保持されます。 取得するプロパティは、optionにて指定されたものです。- パラメータ:
oid
- オブジェクトIDdefinitionName
- Entity定義名option
- 読込オプション、読み込むプロパティを指定可能- 戻り値:
- oidで指定されるデータ
-
batchLoad
指定のEntityキー情報で特定されるデータを取得します。 取得するプロパティは、Entityに定義されているもの全てを取得します。 ReferencePropertyが定義されている場合は、 当該プロパティにはoidとnameが格納されたEntityのインスタンスが格納されます。 ReferencePropertyが指定されている場合で、そのプロパティが複数可の場合は、 当該プロパティはEntity[]の形で取得されます。- パラメータ:
keys
- Entityキー情報definitionName
- Entity定義名- 戻り値:
- キー情報で指定されるデータ
-
batchLoad
指定のEntityキー情報で特定されるデータを取得します。 取得するプロパティは、optionにて指定されたものです。- パラメータ:
keys
- Entityキー情報definitionName
- Entity定義名option
- 読込オプション、読み込むプロパティを指定可能- 戻り値:
- キー情報で指定されるデータ
-
insert
指定の引数のentityを追加します。 entityにoid(オブジェクトID)が設定されていても必ず新しいIDで採番されます。- パラメータ:
entity
- 追加対象のデータ- 戻り値:
- オブジェクトID
-
insert
指定の引数のentityを追加します。- パラメータ:
entity
- 追加対象のデータ追加時の追加方法に関する指定
-- 戻り値:
- オブジェクトID
-
update
引数のentityを更新します。- パラメータ:
entity
- 更新対象のデータoption
- 更新時の更新方法に関する指定- 例外:
EntityConcurrentUpdateException
- 更新対象のデータが存在しない場合、同時更新が発生した場合
-
delete
引数のentityに設定されたoid(オブジェクトID)で一意に特定されるデータを削除します。- パラメータ:
entity
- 削除対象のデータoption
- 削除時に削除方法に関する指定- 例外:
EntityConcurrentUpdateException
- 削除対象のデータが存在しない場合、同時更新が発生した場合
-
updateAll
引数のcondに一致するデータを設定された値にて一括更新します。 タイムスタンプチェックなどは行いません。 別のデータ(親オブジェクトなど)で一貫性を保障した上での、ステータス情報の一括更新等の用途を想定しています。 ReferencePropertyの更新は不可です。 updateAllでは、Entityの更新イベントは発生しません。- パラメータ:
cond
- 更新対象のデータを指定する条件- 戻り値:
- 更新件数
-
deleteAll
引数のcondに一致するデータを一括で削除します。 タイムスタンプチェックなどは行いません。 別のデータ(親オブジェクトなど)で一貫性を保障した上での、一括削除操作を想定しています。 deleteAllでは、Entityの削除イベントは発生しません。- パラメータ:
cond
- 削除対象のデータを指定する条件- 戻り値:
- 削除件数
-
bulkUpdate
bulkUpdatableで指定される一連のEntityを一括で更新(Insert/Update/Delete)します。 更新処理の際は、EntityEventListenerの呼び出しや、Validation、タイムスタンプチェック、CascadeDelete処理などは実行されません。 外部のマスタデータの取り込み、初期データImportなどの用途での利用を想定しています。 bulkUpdatableのclose()は処理後(もしくは例外発生後)、当メソッド内で呼び出されます。
bulkUpdate()を呼び出す実行ユーザーは当該Entityに対して登録、更新、削除権限を範囲条件なしに保有している必要があります。
更新、削除時には対象とするEntityのoidを指定してください。また、バージョン管理が有効の場合はversionの値も明示的に指定する必要があります。
注意
Binary型、LongText型、AutoNumber型を利用している場合、bulkUpdate利用によっても高速化は望めない場合があります。
また、BulkUpdateEntity.UpdateMethod.MERGE
を利用している場合、bulkUpdate利用によっても高速化は望めない場合があります。- パラメータ:
bulkUpdatable
-
-
loadBinaryReference
引数で指定されるBinaryReferenceを取得します。- パラメータ:
lobId
-- 戻り値:
- BinaryReference
-
createBinaryReference
BinaryReferenceを新規に作成します。 引数のisのデータを同時にバイナリデータとして書き込みます。
isがnullの場合は、バイナリデータが空の状態で新規に作成されます。 書き込みは別途getOutputStream(BinaryReference)メソッドを介して、行うことが可能です。
作成されたBinaryReferenceはまだEntityに紐付いていない状態です。 引数のisはBinaryReference作成後、当メソッド内でcloseします。- パラメータ:
name
-type
-is
-- 戻り値:
-
createBinaryReference
BinaryReferenceを新規に作成します。 引数のfileのデータを同時にバイナリデータとして書き込みます。
作成されたBinaryReferenceはまだEntityに紐付いていない状態です。
nameが未指定の場合は、fileの名前がnameに指定されます。 typeが未指定の場合は、fileの拡張子からmimetypeが解決されます。- パラメータ:
file
-name
-type
-- 戻り値:
-
getInputStream
引数で指定されたBinaryReferenceのバイナリデータを取得するためのInputStreamを取得します。- パラメータ:
binaryReference
-- 戻り値:
-
getOutputStream
引数で指定されたBinaryReferenceのバイナリデータを書き込むためのOutputStreamを取得します。 OutputStramは利用終了したら必ずclose()してください。- パラメータ:
binaryReference
-- 戻り値:
-
lockByUser
現在、当該メソッドを呼び出しているユーザーにて、 指定のEntityをデータをロックします。 ユーザーによるロックはunlockByUser()メソッドにて明示的に開放しない限り、 トランザクションを終了してもロックは保持されます。- パラメータ:
oid
- オブジェクトIDdefinitionName
- Entity定義名- 戻り値:
- ロックできた場合true
-
unlockByUser
ユーザーにてロックされているEntityのデータのロックを解除します。- パラメータ:
oid
- オブジェクトIDdefinitionName
- Entity定義名- 戻り値:
-
purge
ごみ箱から、削除します。 recycleBinIdは、ごみ箱内のデータを一意に特定するidです(oidは重複する可能性があるため)。
purge()を呼び出す実行ユーザーは当該Entityに対して削除権限を範囲条件なしに保有している必要があります。- パラメータ:
recycleBinId
- ごみ箱内のデータを一意に特定するiddefinitionName
- Entity定義名
-
restore
ごみ箱から復活します。
restore()を呼び出す実行ユーザーは当該Entityに対して削除権限を範囲条件なしに保有しているか、 もしくは自身がごみ箱に格納したEntityである必要があります。- パラメータ:
recycleBinId
- ごみ箱内のデータを一意に特定するiddefinitionName
- Entity定義名
-
getRecycleBin
ごみ箱の中身のリストを取得します。 取得可能なものは、recycleBinId,oid,nameのみです。 recycleBinIdは、ごみ箱内のデータを一意に特定するid。(oidは重複する可能性があるため)- パラメータ:
definitionName
- Entity定義名callback
-
-
getRecycleBin
ごみ箱の中身から、指定のrecycleBinIdで特定される1件を取得します。- パラメータ:
recycleBinId
-definitionName
-- 戻り値:
-
getCurrentTimestamp
Timestamp getCurrentTimestamp()現在の時間を取得します。 取得される値は、実時間ではなく、あらかじめ設定されたシステム時間である場合もあります。- 戻り値:
- 現在時間(もしくは事前に設定されたプレビュー時間)
-
deepCopy
指定のoid(オブジェクトID)で一意に特定されるデータを取得し、参照先を含めたコピーを行います。 親子関係の参照先のエンティティはoidが新たに採番され、 通常の参照の場合、被参照ならコピー対象外になり、被参照でなければそのまま参照されます。 また制約として、変更不可の項目についてはコピー後に変更はできなくなり、 文字列以外のプロパティでユニーク指定されている場合はコピー自体ができません。- パラメータ:
oid
- オブジェクトIDdefinitionName
- Entity定義名- 戻り値:
- コピーされたデータ
-
deepCopy
指定のoid(オブジェクトID)で一意に特定されるデータを取得し、参照先を含めたコピーを行います。 親子関係の参照先のエンティティはoidが新たに採番され、 通常の参照の場合、被参照ならコピー対象外になり、被参照でなければそのまま参照されます。 また制約として、変更不可の項目についてはコピー後に変更はできなくなり、 文字列以外のプロパティでユニーク指定されている場合はコピー自体ができません。- パラメータ:
oid
- オブジェクトIDdefinitionName
- Entity定義名option
- コピー時のオプション- 戻り値:
- コピーされたデータ
-
fulltextSearchEntity
指定のワードで全文検索します。 defNameが未指定の場合は利用テナントの全エンティティに対して全文検索を実施します。- パラメータ:
definitionName
- Entity定義名keyword
- 全文検索用キーワード- 戻り値:
- 検索キーワードを含むエンティティデータのリスト
-
fulltextSearchOidList
指定のワードで全文検索し、oidのリストを取得します。 definitionName、keywordは必須。未指定の場合は空のリストを返却します。- パラメータ:
definitionName
- Entity定義名keyword
- 全文検索用キーワード- 戻り値:
- 検索キーワードを含むエンティティデータのoidのリスト
-
fulltextSearchOidList
指定のワードで全文検索し、対象Entity毎のoidリストのMapを取得します。 definitionNames、keywordは必須。未指定の場合は空のMapを返却します。- パラメータ:
definitionNames
- Entity定義名のリストkeyword
- 全文検索用キーワード- 戻り値:
- 検索キーワードを含むエンティティデータのoidリストのMap
-
fulltextSearchEntity
<T extends Entity> SearchResult<T> fulltextSearchEntity(Map<String, List<String>> entityProperties, String keyword) 指定のワードで全文検索し、指定プロパティのみを取得します。 entityPropertiesが未指定の場合は利用テナントの全エンティティに対して全文検索を実施します。- パラメータ:
entityProperties
- Entity定義毎に取得するプロパティkeyword
- 全文検索用キーワード- 戻り値:
- 検索キーワードを含むエンティティデータのリスト
-
fulltextSearchEntity
<T extends Entity> SearchResult<T> fulltextSearchEntity(Query query, String keyword, SearchOption option) クエリ実行結果に対して、指定のワードで全文検索します。メモリを大量消費する恐れがありますので、絞り込む条件とリミット条件を指定した上でご利用してください。
- パラメータ:
keyword
- 全文検索用キーワードQuery
- クエリ、Entity.OIDを検索項目として設定する必要が有ります。Entity.OIDを指定しないと、空のリストが返されます。
- 戻り値:
- SearchOption 検索時のオプション、countTotal=trueの場合総件数を積み上げる
-
fulltextSearchEntity
<T extends Entity> SearchResult<T> fulltextSearchEntity(String keyword, FulltextSearchOption option) 指定のワードで全文検索し、指定プロパティのみを取得します。 FulltextSearchOptionのconditionsが未指定の場合は利用テナントの全エンティティに対して全文検索を実施します。- パラメータ:
keyword
- 全文検索用キーワードoption
- 全文検索時のオプション- 戻り値:
- 検索キーワードを含むエンティティデータのリスト
-