Java世界

          學(xué)習(xí)筆記

          常用鏈接

          統(tǒng)計

          積分與排名

          天籟村

          新華網(wǎng)

          雅虎

          最新評論

          JPA插入或者修改數(shù)據(jù)的時候使用數(shù)據(jù)庫表的default值(JPA動態(tài)插入動態(tài)更新)

          使用JPA的時候,當(dāng)我們插入數(shù)據(jù)的時候,我們不僅可以自己在model類里面賦初值,還可以使用數(shù)據(jù)庫表的default值。希望大家通過以下對JPA學(xué)習(xí),能對大家有幫助。

            讓我們開始進(jìn)行JPA學(xué)習(xí)吧。首先,我們在model類里面為column設(shè)置數(shù)據(jù)庫default值,以前使用Hibernate的時候的做法是添加sql-type,例如:
          <property name="viewDate" not-null="false" type="java.util.Date">  
             <column name="viewDate" sql-type="datetime; default getdate()"/>  
          </property>

          JPA里面使用columnDefinition代替sql-type:
              @Column(columnDefinition="datetime default getdate()")
              @Temporal(javax.persistence.TemporalType.TIMESTAMP)
              private Date viewDate;

          那么,當(dāng)我們的generateDdl設(shè)為true的時候,可以在數(shù)據(jù)庫生成表,而且viewDate字段會帶一個默認(rèn)值getdate(),當(dāng)我們的sql語句不帶viewDate字段的時候,就會使用到getdate()去取數(shù)據(jù)庫的系統(tǒng)時間。

          以前Hibernate的做法是添加dynamic-insert="true"和dynamic-update="true" 。但是JPA好像沒有這個功能。如果你的JPA的Privider
          是Hibernate的話可以添加如下Annotation為我們的實體提供dynamic-insert,dynamic-update,如下:
          @Entity
          @org.hibernate.annotations.Entity(dynamicInsert=true,dynamicUpdate=true)
          public class MyEntity{
          //省略其他字段
          ......
              @Column(columnDefinition="datetime default getdate()")
              @Temporal(javax.persistence.TemporalType.TIMESTAMP)
              private Date viewDate;
          //注意,這里不要給viewDate一個初始值,例如viewDate = new Date();是錯的。只有null才會在加入的時候,使用到dynamicInsert
          //省略getter,setter
          ......
          }

          那么,當(dāng)加入一條MyEntity記錄的時候,我們的viewDate為null,就可以取數(shù)據(jù)庫時間了。希望通過JPA學(xué)習(xí),能幫到大家獲得需要的知識。

          posted on 2010-12-20 13:55 Rabbit 閱讀(7404) 評論(1)  編輯  收藏

          評論

          # re: JPA插入或者修改數(shù)據(jù)的時候使用數(shù)據(jù)庫表的default值(JPA動態(tài)插入動態(tài)更新) 2015-05-11 11:00 123456789

          健康減肥咖啡姐看風(fēng)景  回復(fù)  更多評論   


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 东光县| 北宁市| 哈巴河县| 洞头县| 广南县| 故城县| 张家港市| 武清区| 武功县| 浏阳市| 明水县| 射阳县| 精河县| 台山市| 邢台市| 石景山区| 安宁市| 原阳县| 和顺县| 余姚市| 高雄县| 阿巴嘎旗| 雷州市| 江西省| 西昌市| 宁乡县| 车致| 五台县| 皋兰县| 阳信县| 凌海市| 城口县| 永靖县| 泰和县| 融水| 杭锦后旗| 灵璧县| 宿州市| 滨州市| 铜陵市| 梁山县|