MySqlでHibernateを使用しています。ローカルサーバーを起動してクエリを渡すときに、返される値が一貫性があり正しいものです。私がupdateQuery経由でデータベースを更新したり、MySqlワークベンチを開いて手動でデータベースを更新したりすると、selectクエリが古い値と時々新しい値を返すことがあります。これは既知の問題ですか?私はbeginTransactionとcommitTransactionがすべてのselect呼び出しの前に、そしてinsert/updateトランザクションの前にもあることを確かめました。面白いのは、再起動後にデータベースに触れるまで、返される値は完璧です。Hibernateの矛盾
2
A
答えて
2
無効Hibernateのキャッシュ(二次キャッシュとクエリキャッシュ)で再度同じことをしてみてください。これを行うには、いずれか、偽に次のプロパティを設定し、あなたにHibernateやSpring構成で:
- hibernate.cache.use_query_cache
- hibernate.cache.use_second_level_cache
これは、Hibernateを起こす必要があります毎回データベースに戻って、結果をデータベースに表示する必要があります。 Hibernateは、セッションの存続期間中(通常は1つのトランザクション)に使用される第1レベルのセッションキャッシュを引き続き使用します。それ以外の場合は、常にデータベースに移動する必要があり、DB内のデータを直接変更しても最新の結果が表示されるはずです。
これが確実に機能することを確認したら、キャッシュを再度有効にして、設計どおりに機能していることを確認できます。 (は読み取り専用、を読み書き、...)、キャッシング、特に様々なキャッシング戦略上のクロス読みHibernateのドキュメントに確認してください:http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/performance.html#performance-cache
関連する問題
- 1. 矛盾
- 2. 矛盾
- 3. LOCALDATEの矛盾
- 4. 矛盾はIllegalArgumentException
- 5. 矛盾geom_text
- 6. C#は矛盾
- 7. 矛盾 - ガレラクラスタ
- 8. 矛盾アクセシビリティエラーが
- 9. 矛盾統計
- 10. 矛盾ファイルパスのアレイ
- 11. PHPのstrtotime矛盾
- 12. のHTML DOM矛盾
- 13. "haltingproblem"矛盾の証
- 14. jqGrid - rowObjectの矛盾?
- 15. Djangoカスタムバックエンドドキュメントの矛盾
- 16. Luaのメタテーブル矛盾
- 17. Hibernate:遅延初期化と壊れたハッシュコード/矛盾の一致
- 18. 矛盾RSPEC /カピバラは
- 19. opencpu矛盾JSONシリアライズ
- 20. Jquery +矛盾なし
- 21. 値矛盾動作
- 22. 矛盾するエラー?
- 23. 矛盾置きID
- 24. エクリプス:矛盾警告
- 25. オブジェクティブC:Cell.ImageView.imageサイズ矛盾
- 26. mySQLのダンプの矛盾
- 27. CSSの枠線の矛盾
- 28. Pythonのエスケープシーケンスの矛盾
- 29. UIScreenEdgePanGestureRecognizerの矛盾の問題
- 30. asp.net MVCのチェックボックスの矛盾
あなたはHibernateのようなORMフレームワークを使用している場合ORMフレームワークの外部からのデータベースへのアクセスには、フレームワークが認識している最新の変更が反映されていることが一般的には想定できません。 – aroth
@nwinklerが説明しているように、クエリキャッシュによって発生する可能性があります。休止状態外でデータを変更したり、矛盾する可能性があります。 – rkosegi
まあまあ、私は手動でデータベースを更新すべきではありません。私はここで解決策を試していますし、私の頭に浮かぶアイデアも試しています。何かがうまくいくと、私はここで最も近い答えを受け入れるでしょう –