Java世界

          學習筆記

          常用鏈接

          統計

          積分與排名

          天籟村

          新華網

          雅虎

          最新評論

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

          使用JPA的時候,當我們插入數據的時候,我們不僅可以自己在model類里面賦初值,還可以使用數據庫表的default值。希望大家通過以下對JPA學習,能對大家有幫助。

            讓我們開始進行JPA學習吧。首先,我們在model類里面為column設置數據庫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;

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

          以前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
          ......
          }

          那么,當加入一條MyEntity記錄的時候,我們的viewDate為null,就可以取數據庫時間了。希望通過JPA學習,能幫到大家獲得需要的知識。

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

          評論

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

          健康減肥咖啡姐看風景  回復  更多評論   


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


          網站導航:
           
          主站蜘蛛池模板: 张家口市| 沛县| 积石山| 黄梅县| 城口县| 云和县| 西峡县| 永寿县| 体育| 南皮县| 苏尼特右旗| 阜康市| 临西县| 外汇| 墨江| 福贡县| 海南省| 绥江县| 固始县| 新昌县| 霸州市| 灌阳县| 高阳县| 梁平县| 天津市| 紫云| 阳新县| 兰州市| 新宁县| 陇西县| 弋阳县| 岑溪市| 西和县| 唐海县| 重庆市| 离岛区| 陵川县| 安图县| 土默特左旗| 资源县| 石阡县|