2011-12-14 12 views
0

私は、列の値が同じであっても、eclipselinkイベントを使用して強制的に更新することを検討しています。現在のところ、このシナリオではEclipselinkはUpdateクエリを生成しませんが、同じ値の列の値に関係なく、eclipselinkがUPDATE文(setXXXX列)を生成するために行うことができる設定変更があるかどうかを調べたいと考えています新しい価値かどうか。どんな助けもありがとうございます。前もって感謝します。eclipselinkで強制的に更新する

答えて

0

おそらく問題のエンティティはcachedで、それ以降はすべてthe default behaviorです。この設定を必要に応じて調整します。

+0

@サンカラン返信ありがとうございます。キャッシュ値とデータベースの列の値が同じであっても、eclipselinkによって生成されるsqlの実施および更新がどのような調整ができるかの例を挙げてください。 – user1096318

+0

エンティティがキャッシュされていない場合、Eclipselinkはデータベースに書き込みます。それは、フィールド値が変更されていないことを**あなたが知っているときにデータベースに書き込むことによって達成することを期待しているものについて私は興味があると言いましたか? –

+0

@Sankaranいいえキャッシュにない場合でも更新文は生成されません(リフレッシュしようとしました)。私がこれをやろうとしている理由は、更新の試みごとに呼び出される必要がある行にトリガーがあるからです。 eclipselinkは実際に更新を行わないため、これらの試みを追跡することはできません。 – user1096318

0

DescriptorCustomizerを使用して、eclipselinkによって生成されたupdate sqlをオーバーライドすることができました。私はここにいくつかのコードサンプルを入れました:eclipselink hints for setter updates

これは多くのコード変更が必要です。もしあなたの誰かがこれをやる方が邪魔にならない方がいれば(ちょっとした注釈や設定の変更を加えるだけで)教えてください。

関連する問題