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í),能對大家有幫助。

            讓我們開始進行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)航:
           
          主站蜘蛛池模板: 黄平县| 宁夏| 通江县| 静安区| 六枝特区| 当雄县| 滕州市| 屏边| 乐山市| 清流县| 开平市| 东兰县| 华安县| 梁山县| 石柱| 沁源县| 鱼台县| 唐山市| 海门市| 甘泉县| 札达县| 会泽县| 个旧市| 平乡县| 杨浦区| 澄城县| 开江县| 涡阳县| 沁水县| 平乡县| 武穴市| 延津县| 凤阳县| 庆阳市| 福泉市| 达拉特旗| 洞口县| 晋州市| 阿拉善右旗| 阜宁县| 新龙县|