解決hibernate雙向關系造成的一方重復執行SQl,或者死循環的問題


  系統采用struts-json hibernate3.

在對關聯表配置manytoone onetomany雙向關聯的時候,在執行一方的時候,會發現打印出來的SQL語句多執行了一次或者多次。經過調試,發現是在struts-json進行序列化時把關聯的對象再次取了一次。

經過多次百度,google查詢,最終找到解決辦法,把不需要的過濾掉就可以了。

有人建議在實體字段上使用@json(seriliaze=false)來解決,個人不建議這樣做,這樣做是永遠不再讓當前字段序列化了,如果需要用到的時候就麻煩了。

我使用的方法是過濾掉不需要的屬性。這樣不影響其它地方的使用,最后不再使用struts-json插件了,改使用fastjosn,fastjson提供多種過濾方式比較namefilter,propertyfilter,propertyprefilter等,我使用了第二種,然后使用fastjson重新進行序列化。完美解決了問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM