實體拼錯名字,一點經驗教訓,實體拼錯經驗教訓

來源:互聯網
上載者:User

實體拼錯名字,一點經驗教訓,實體拼錯經驗教訓


         這次的項目中出了一個問題,問題不大,但是挺坑的…

 

            V3.0的時候我們使用Hibernate完成實體和資料庫的映射,當時有人把實體的一個屬性拼字錯了,然後資料庫欄位也錯了.V3.1的時候呢,我們換成了EclipseLink,修改了實體關聯,但還是沿用了當時的API中的Entity和資料庫.

 

         3.1的開發人員在做開發的時候,因為對實體很熟悉,所以並不需要看實體是如何拼字的,所以直接拼完如下語句:

 String hql="select new map (S.id as id,"

+"S.name as name,"

+ "P.professionalNameas professionalName "

+") from Student as S  left joinS.professional as P "

+"where S.isDelete=:isDelete ";

 

        運行結果是報錯了.

       根據錯誤提示可以知道是語句的事兒,可是檢查來檢查去也沒發現什麼錯誤.開啟資料庫一看,發現欄位.professional表中有這麼個欄位.profesionalName.於是無盡地流汗,少了一個s…

 

        如果修改實體和資料庫,之前用到這個屬性的地方一定會出錯的,如果不改,將錯就錯,後續用到這裡的人也都會出錯的,寫得越對就越報錯.

 

        如果你問當時3.0怎麼沒出錯,這是因為那會用級聯,都是點出來的屬性,可以不寫.

 

 

       綜上所述,做前期實體設計和資料庫設計的時候還是要細心一點吧,可以幾個人一起做,也要有專人審核.保證每一步都正確.


著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.