ヘッダーをスキップ
Oracle® Fusion Middleware Oracle TopLink Java Persistence API (JPA)拡張機能リファレンス
12c (12.1.2)
E48005-01
  目次へ移動
目次

前
 
次
 

@Noncacheable

@Noncacheableを使用して、リレーションシップのキャッシュ動作を構成します。リレーションシップで使用される場合、親エンティティがキャッシュされても、そのリレーションシップはキャッシュされません

注釈要素

この注釈の要素はありません。

使用方法

EclipseLinkがエンティティを取得するたびに、リレーションシップはデータソースからリロードされます。リレーションシップのキャッシングが望ましくない状況において、または、異なるEclipseLinkキャッシュ・タイプを使用したり、参照をキャッシュしていることによって、異なるキャッシュ・スキームを使用する関連エンティティのキャッシュ存続期間が延長される場合に、このことが役立つことがあります。たとえば、エンティティAはエンティティBを参照し、エンティティAはFullで、エンティティBはWeakになります。リレーションシップのキャッシングを削除しない場合、エンティティBのキャッシュは、実質的にFullになります。

例2-76に、@Noncacheableを使用して保護されたキャッシュを作成する方法を示します。

例2-76 @Noncacheable注釈の使用

@Entity
@Cache(
  isolation=CacheIsolationType.PROTECTED
)
public class Employee {
  @Id
  private long id;
  ...
  @OneToMany(mappedBy="manager")
  @Noncacheable
  private List<Employee> managedEmployees;
  ...
}

例2-77に、eclipselink-orm.xmlファイルの<noncacheable> XML要素の使用を示します。

例2-77 <noncacheable> XMLの使用

<?xml version="1.0"?>
<entity-mappings
    xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.eclipse.org/eclipselink/xsds/persistence/orm http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_2_4.xsd"
    version="2.4">
    <entity name="Employee" class="org.acme.Employee" access="FIELD">
        <cache isolation="PROTECTED"/>
        <attributes>
            <id name= "id"/>
            <one-to-many name="managedEmployees" mapped-by="manager">
                <noncacheable/>
            </one-to-many>
        </attributes>
    </entity>
</entity-mappings

関連項目

詳細は、次を参照してください。