1. 程式人生 > >NHibernate 查詢檢視資料與資料庫資料不一致

NHibernate 查詢檢視資料與資料庫資料不一致

NHibernate 查詢資料與資料庫資料不一致

開發中遇到,當更改一條資料之後,查詢到的檢視列表資料沒有更新,實際資料庫中資料已經更改,檢視中的資料也幾經更改。
初步懷疑是 session 快取的問題。
專案是winform應用程式,剛開始的時候使用的是和web應用中的配置相同。但是在web應用中沒有遇到這種問題。
可能的原因:
session 的建立和銷燬時和 執行緒繫結在一起的。
每次web請求,都會建立一個session繫結到當前執行緒。web請求結束之後session釋放。
winform中,執行緒只建立一次,即專案啟動時。
此時更改表資料之後,如果沒有清空session快取,那麼查詢的檢視,實際上之後都是使用的session快取的資料。
解決方案:
在更新表資料之後,呼叫

session.Clear()

相關推薦

NHibernate 查詢檢視資料資料庫資料一致

NHibernate 查詢資料與資料庫資料不一致 開發中遇到,當更改一條資料之後,查詢到的檢視列表資料沒有更新,實際資料庫中資料已經更改,檢視中的資料也幾經更改。 初步懷疑是 session 快取的

redis中快取的資料資料庫資料一致性的方案

方式1:資料庫儲存資料,redis不persist redis啟動後,從資料庫載入資料 不要求強一致實時性的讀請求,都由redis處理 要求強一致實時性的讀請求,由資料庫處理 寫請求有2種處理方式,由資料庫處理 - 應用先寫道資料庫,然後更新redis - 應用先寫道資料庫

redis中快取的資料資料庫資料一致性的方案(好)

方式1:資料庫儲存資料,redis不persistredis啟動後,從資料庫載入資料不要求強一致實時性的讀請求,都由redis處理要求強一致實時性的讀請求,由資料庫處理寫請求有2種處理方式,由資料庫處理- 應用先寫道資料庫,然後更新redis- 應用先寫道資料庫,然後其它da

多執行緒模擬高併發情況redis 資料庫快取一致

import com.mysql.jdbc.Connection; import entity.User; import org.junit.Test; import redis.clients.jedis.Jedis; import java.sql.*; import

Django檢視資料庫互動並返回資料

環境:python 2.7.13  資料庫:sqlite3(Django自帶)   在學習Django的時候,遇到了困難。大概就是取到資料庫資料後一直不能轉成json資料。最後終於自己琢磨解決了。 要點就是在通過Django API與sqlite資料庫做互動時,要看清楚返回

hibernate手動更新資料 查詢資料更新資料同步

最近在專案中,二級密碼驗證一直出問題,本來利用的是Ajax非同步提交驗證,程式剛才開始執行時候沒什麼問題,但是一旦使用者修改一下二級密碼之後,當再需要輸入二級密碼的時候就會一直驗證不成功,得到的密碼一直都是更新之前的資料,查了很久資料,才發現原來是由於快取的問題,由於JQue

MongoDB學習筆記~資料結構實體物件一致時,它會怎麼樣?

回到目錄 對於MongoDB這個文件型弱型別資料庫,它在操作時有時給我們帶來了一些方便,如當你的mongodb資料表與現有的類實體物件不一致時,會發生一些情況,總結如下 1:mongodb資料表不存在,實體類有,進行獲取資料時,程式不出錯 2:mongodb資料表沒有某些屬性欄位,實體類有,進行獲取

關係資料庫資料hadoop資料進行轉換的工具 - Sqoop

Sqoop 本文所使用的Sqoop版本為1.4.6 1.官網   http://sqoop.apache.org 2.作用   A:可以把hadoop資料匯入到關係資料庫裡面(e.g. Hive -> Mysql)   B:可以把關係資料庫資料匯入到hadoop裡面(e.g. Mysql -

原生ajax 實現輸入框模糊查詢,自動匹配資料庫資料

1、頁面程式碼如下 <div class="d-search-condition"><label class="d-search-condition-label">病人姓名:</label><input type="text" id

java資料型別資料庫資料型別一覽表

Java資料型別 Hibernate資料型別 標準SQL資料型別(PS:對於不同的DB可能有所差異) byte、java.lang.Byte byte TINYINT

Echarts圖表資料庫資料結合

2.匯入到你的專案中  <script type="text/javascript" src="<%=request.getContextPath()%>/EchatsJs/echarts.js"></script> 3.給圖表

查詢語句SqlServerExcel資料匯入匯出

一、Excel檔案在sqlserver資料庫的本地  1、啟用Ad Hoc Distributed Queries的方法exec sp_configure 'show advanced options',1reconfigureexec sp_configure 'Ad

Redis資料庫資料同步解決方案

資料庫同步到Redis 我們大多傾向於使用這種方式,也就是將資料庫中的變化同步到Redis,這種更加可靠。Redis在這裡只是做快取。 方案1 做快取,就要遵循快取的語義規定: 讀:讀快取redis,沒有,讀mysql,並將mysql的值寫入

KETTLE在進行資料加工時 時間 系統時間一致

    在進行etl作業時,源資料庫中資料日期為 2017-05-02 00:00:00     在etl抽取並插入到目標表之後,目標表的資料日期變為了:2017-05-02 16:00:00   

VO(檢視模型) DTO(資料傳輸物件)的區別

目錄 VO(檢視模型) 與 DTO(資料傳輸物件)的區別 1.VO與DTO概念 2.VO 檢視模型的必要性與解耦 2.1 檢視模型 2.2 檢視模型存在的必要性 2.3 檢視模

Jmeter-BeanShell斷言的運用一(JSON響應資料資料庫比對)

前言   最近在學習BeanShell斷言,發現有點強大哈,只要會寫程式碼,就沒有什麼是斷言不了的,哈哈哈,不過我現在只會寫點蹩腳的程式碼,下面將介紹下如何將返回的JSON資料與資料庫資料做對比。 注:本次涉及到的知識點有 1)BeanShell PostProcessor拼接字串;2)BeanShell 斷

sql效能優化第一篇之分頁資料count資料一次性獲取

相信大部分人都會遇到:在資料庫的資料量很大時,分頁需要幾秒鐘才會全部完成;包括分頁list的獲取和count的獲取。那我們完全可以將這兩步放到一次sql去執行獲取,減少一半的查詢時間。這裡get到sql_calc_found_rows和SELECT FOUND_ROWS()這兩個知識點。看程式碼

用hibernante處理持久層資料資料庫資料無變化

未將方法織入事務中 spring配置: <tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes> <tx:method name="add*"/> &

柵格資料向量資料

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

JQuery中使用select2外掛功能之自動完成下拉框動態載入匹配(本地資料遠端資料結合)

前言 最近專案中遇到一個問題:前端載入頁面的時候某些頁面載入速度很慢,耗時很久;有些頁面載入的飛快;因為上面所說的頁面都是由同一個程式動態生成的,利用多執行緒同步機制完成不同的前端頁面;因此當時就斷定不是程式的大問題;應該是處理資料部分存在問題;在chrome瀏覽器一測;還真的是大資料的問題