hibernate基礎配置

來源:互聯網
上載者:User

標籤:property   枚舉類   bsp   private   jar包   style   turn   int   注意   

資料庫表名和類名

  一致

    註解:可寫可不寫;

    XML:可寫可不寫; <class name="Student"> 

  不一致

    註解: 1 @Table(name="_teacher") 2 public class Teacher ,注意匯入的是 javax.persistence.Table;

    XML:  <class name="Student" table="_student"> 。

欄位名和屬性名稱

  一致

    註解:@Basic / 不寫,沒有在欄位上加註解相當於加了@Basic;

    XML:如果要在資料庫中進行操作的欄位那就必須要寫,否則資料就不會插入到資料庫中

1 <id name="id"/>2 <property name="name"/>

  不一致

    註解: @Column(name="_name") public String getName() ,注意匯入的是 javax.persistence.Column;

    XML: <property name="name" column="_name"/> 

不想儲存在資料庫中的欄位:

  註解:匯入 javax.persistence.Transient;

 1     import javax.persistence.Transient; 2          3     private String girlName; 4  5     @Transient 6     public String getGirlName() { 7         return girlName; 8     } 9 10     public void setGirlName(String girlName) {11         this.girlName = girlName;12     }

  XML:不要持久化的屬性不寫進XML設定檔就可以了

映射日期和時間

  註解: 預設是 TIMESTAMP,如果要設定時間精度,有三個可選,DATE只儲存日期(年月日),TIME只儲存時間(時分秒),TIMESTAMP儲存日期和時間:

    

    例子:

1    private Date birthday;2     @Temporal(value=TemporalType.TIMESTAMP)3     public Date getBirthday() {4         return birthday;5     }6 7     public void setBirthday(Date birthday) {8         this.birthday = birthday;9     }

  XML:在對應的欄位上對 type 進行配置,

映射枚舉類型

  註解:兩種類型 ORDINAL在資料庫中以int儲存,STIRNG以字串儲存

    

    定義枚舉類型:

    

1 package com.bjsxt.hibernate.model;2 3 public enum ZhiCheng {4     A,B,C5 }

    設定職稱為B: 1 t.setZhiCheng(ZhiCheng.B); 如果映射為ORDINAL,資料儲存為0;如果映射為STRING,資料儲存為B。

  XML:很麻煩,一般不用。

FAQ:

1、註解指定資料庫欄位的長度?

  註解:Column 的 length 配置;

  XML:propertye 的 length 配置。

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------

欄位對應的位置:field 上、方法上。

放在方法上,這樣不會破壞Java的物件導向的封裝性;

best practice:保持field和 get set 方法的一致。

連結: http://pan.baidu.com/s/1caR1ZS 密碼: c24n

jar包:連結: http://pan.baidu.com/s/1pLM4ch9 密碼: q5cp

hibernate基礎配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.