代碼圖片:sql
這個ide
product.getStatus()
在這裏是空的,這個請求是咱們後臺的管理平臺一個工具請求的.這個工具就是驗證當前產品是否可以在網站上賣.結果這裏status爲null.由於status這個字段是個多語言的,默認的獲取邏輯是若是get的時候,沒有提供Locale這個對象,是拿當前產品的默認語言的locale的,保證了確定可以獲取到數據的.工具
我接着就用idea來測試了當用默認的locale來獲取可否拿到值,結果是有的.測試
由於網站
product.getStatus()
這個方法debug進去跟到後面是看不到具體執行的代碼的,這裏有個AOP致使了我也沒找到是那個類切入到這裏了.這個沒有源碼也是頭疼.idea
後面我也拿着沒轍,由於我看着產品應該配置的我都配置了.我就直接經過頁面來訪問該產品看可否顯示,結果竟然正常顯示了.我當時一臉懵逼了,請求這個的時候,status是有值了,可以經過校驗.debug
後面我把問題向寫這個工具類的同事說了,獲得的反饋是這個工具備的時候就是會很差使的.😓對象
咱們這個後臺也看不到請求的sql語句.我就在想應該是在頁面上請求這個產品的時候,應該是在這個時候根據當前產品是屬於哪一個store,拿到了store的默認語言.那個AOP應該就是在此時生效了.圖片
古話說得好,盡信書不如無書.get