今天發現了一個 hibernate 很強大或者比較奇怪的地方。hibernate
好比 User 對象 關聯了 Role 對象 假設開始 USer 是沒有 關聯的 role 數據的 也就是 user.getRoles() 爲 null 在一個 service 方法中好比 save(){ //這時候 list 確定爲空 List<Role> list =user.getRoles() ; Role role =new Role(); ..... //保存 和 User有關係的role role.save(); //此時 經過 user.getRoles() 或者list 能獲取到 role了 //也就是 list 不爲空了,內容就是 剛纔保存的 role list.size()==1 }
也就是 hibernate 能夠把 當前 保存的數據 和 關聯數據 給關聯和賦值進去了。包括 引用 對象。code
都會賦值進去。對象
我以前 還用 引用的關聯對象去判斷是否爲空 去處理 和判斷,致使 出了BUG。get