項目使用springboot的1.5.19版本進行開發,裏面使用到JPA,而springboot這個版本自帶的JPA實現是Hibernate的5.0.12版本。spring
這個版本里面的延遲加載是沒有問題的,當你設置 fetch = FetchType.LAZY
時,關聯的對象在你沒有使用的時候,是不會發出sql的。sql
但升級了springboot的2.1.3後,依賴的Hibernate已經去到5.3.7版本了。這時候延遲加載就失效了,就算只是查詢一個字段,也會再發多一條關聯對象的SQL出來。springboot
這個問題,在升級Hibernate5.4.2版本後是解決了的。測試
而對於使用springboot 2.1.3的話,須要先排除掉spring自身加載的Hibernate版本,本身替換成Hibernate5.4.2版本才能夠。fetch
不知道有沒有人遇到這問題,本人測試,Hibernate5.2.x時候就已經出現了,但好像一直沒有修復。code