1. 程式人生 > >實體拼錯名字,一點經驗教訓

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

3.0 map lips 和數 ips 常熟 pro left join 個人


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

V 3.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怎麽沒出錯,這是由於那會用級聯,都是點出來的屬性,能夠不寫.

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


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