對于java開發者而言,注解應該不是一個陌生的概念,早在JavaSE階段,例如@Override标記重寫父類方法或實作接口方法,@Test标記單元測試方法,是以我們可以簡單地把它了解為一種有特殊含義的标記...在開發過程中,我們還可以用注解方式替代配置檔案實作相關功能,例如Java web開發中,3.0版本後,利用@WebServlet、@WebListener等注解分别可以替代web項目XML配置檔案中相關内容。而本文中講述的就是Hibernate的映射配置檔案與映射注解的對比,這兩種方式均可以實作映射功能,為了避免先入為主,在此先不闡述孰優孰劣,接下來以實體類基本映射示例,分别用配置檔案和注解方式實作。
背景:資料庫中一個使用者表person,字段四個,包涵自增主鍵id、姓名name、性别sex、年齡age,映射實體類為Person,屬性四個,id、name、gender、age。注意這裡實體類屬性名和資料表中字段名如果不一緻,例如這裡的sex和gender,在映射檔案中<property>标簽中name和colum兩個屬性都要寫上,在注解中也不能簡化省略@column,column從譯意上大家應該都能知道它是對應資料庫的字段上,如果不指定字段,預設情況下,系統會把映射檔案中的name屬性值作為字段名,注解方式時會把屬性名作為字段名。另外一個要注意的地方就是類屬性是區分大小寫的,而字段是不區分大小寫的。
0.在hibernate.cfg.xml配置檔案中,使用兩種映射方式分别要填映射配置源檔案的位置和映射類的全名,一個是<mapping resource="XX/XX/XXX">,一個是<mapping class="XXX.XXX.XXX" />;
1.在使用注解方式時,實體類中導入不要導成Hibernate下的,這裡引入都是JPA(Java Persistence API)範疇下的類,不要因為是hibernate架構下,順其自然地以為是那個Hibernate下的類,圖示如下

本文轉自 zddnd 51CTO部落格,原文連結:http://blog.51cto.com/13013666/1949226