はおそらくDBから取得しprevius値を保持しているあなたのapplicaltionでいくつかのキャッシュがある - ので、あなたが呼び出しているSQLをDBに行くのではなく、あなたのアプリケーションのローカルキャッシュから結果を返します。あなたの持続性の設定にしたがって、ドキュメントを見てキャッシュを無効にする方法 - おそらくORMレベルにあります。キャッシュを無効にする方法のEclipseLinkドキュメントから
:デフォルトのEclipseLinkことで
が繰り返さデータベースへのアクセスを避けるために、データベースから読み込まれたキャッシュオブジェクトへの共有オブジェクト・キャッシュを有効にします。データベースがJDBCまたは別のアプリケーションまたはサーバーによって直接変更された場合、共有キャッシュ内のオブジェクトは失効します。
Refreshing
Invalidation
Optimistic locking
Cache coordination
共有キャッシュも無効にすることができます。
のEclipseLinkはを含む古いデータに対処するためのいくつかのメカニズムを提供しています。これは、EclipseLinkの永続ユニットのプロパティを使用して行うことができます。
<property name="eclipselink.cache.shared.default" value="false"/>
またはJPA 2.0永続性単位素子:
<shared-cache-mode>NONE</shared-cache-mode>
または選択@Cacheアノテーションを使用して有効/無効にすることができます。
@Entity
@Cache(isolation=ISOLATED)
public class Employee {
...
}
JPA 2.0 @Cacheable注釈:
@Entity
@Cacheable(false)
public class Employee {
...
}
CacheTypeをNoneに設定してキャッシュを無効にしないでください。オブジェクトIDの問題が発生する可能性があります。
友達、私はいくつかの更新を行った - >私のキャッシュが無効にされている –
友人が使用している他のマシンのキャッシュも無効になっていますか? –
両方のマシンにインストールされた実行可能ファイルです –