Hibernate配置檔案中資料型別date與timestamp區別
例如:
<property name="createDate" type="timestamp" column="createDate"/>
<property name="createDate" type="date" column="createDate"/>
那麼,使用了 date型別,不能儲存時分秒,就使用了timestamp就能儲存時分秒了。
Hibernate在儲存和更新Date型別的資料到資料庫的時候,如果設定不當,會捨棄時分秒,和資料庫中Date型別的精確度不符(如Oracle的Date是帶時分秒的).
引起的原因主要是mapping檔案中的欄位型別被設成了type="date",而mapping檔案一般都是通過hibernate提供的工具生成的,hibernate提供的工具預設把資料庫端date型的欄位設成type="date".從而Hibernate在用JDBC做資料庫更新的時候會用 statement的setDate(index, sqlDate),插入資料庫的日期只有年月日.
下面的JDBC程式碼演示了這個問題:
String sql = "UPDATE Timetest T SET T.datev=? WHERE T.id=?";
stmt = conn.prepareStatement(sql);
// java.sql.Date sqlDate = new java.sql.Date(26,7,2010);
// sqlDate.setTime(System.currentTimeMillis());
// stmt.setDate(1, sqlDate); //如果是用setdate的方式,時分秒會被捨棄
//用setTimestamp的方式,時分秒會被儲存
stmt.setTimestamp(1, new Timestamp(System.currentTimeMillis()));
stmt.setLong(2, 1L);
stmt.executeUpdate();
conn.commit();
使用時需要注意的問題:
1,如果是用Hibernate的物件來影射資料庫操作(save,load..),需要將mapping檔案的type="date"改成type="timestamp".
2,如果用Query(session的createQuery和createSQLQuery),在賦值的時候用query.setTimestamp(0, new Date());
相關推薦
Hibernate配置檔案中資料型別date與timestamp區別
例如: <property name="createDate" type="timestamp" column="createDate"/> <property name="createDate" type="date" column="createDat
記錄一下:Hibernate配置檔案中資料庫欄位的對應型別
說在前面:在學習Hibernate的過程中,經常要對資料表的欄位進行對映的配置,不管是通過註解的方式,還是xml檔案配置的方式,不可避免的要對資料表的欄位型別進行配置說明。本人在配置的過程中,對於java屬性為boolean的欄位進行資料庫配置時總是記不住,每次都是
VHDL中資料型別轉換與移位(STD_LOGIC_ARITH與NUMERIC_STD)
1. VHDL目前常用庫檔案 目前寫VHDL程式時,大部分人已經熟悉的庫呼叫如下所示: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsi
程式讀取配置檔案中資料顯示在頁面上
1.首先在配置檔案中增加要讀取的資料 cas.cmCustPayment.receiptInvoiceName=\u9996\u94A2\u667A\u65B0\u8FC1\u5B89\u7535\u78C1\u6750\u6599\u6709\u9650\u516C\u53F8 ca
Hibernate 配置檔案中的方言
在配置hibernate.cfg.xml時需指定使用資料庫的方言: 例: org.hibernate.dialect.MySQL5Dialect 以下是各資料庫對應的方言(Dialect): 資料庫 方言(Dialect) DB2 org.hibe
Hibernate配置檔案中配置MySQL編碼問題
個人小菜鳥一枚,在使用Hibernate配置MySQL資料庫時,發現又出現中文亂碼問題.於是乎不管三七二十一,在jdbc的url路徑後面新增上 ?useUnicode=true&characterEncoding=utf-8; 但是Hibernate卻報錯
Node.js專案的package.json配置檔案中的devdependencies 和 dependencies的區別
1、dependencies和devDependencies 具體程式碼如下 "name": "webpack-react-express", "version": "0.2.0", "private": true, "dependencies": {
如何獲取web專案hibernate.cfg.xml配置檔案中的資料
有時候想要獲取hibernate.cfg.xml配置檔案中的資料,網路上有很多方法,有的很複雜,這裡我介紹一種很簡單的獲取方法。 hibernate.cfg.xml配置檔案中有連線資料庫所需的各種資訊,比如這裡要獲取connection.url欄位對應的url資料,如下所示
@PropertiesSource註解讀取配置檔案中的資料
這是properties配置檔案。 資料結構。 注入物件。 或者: 使用物件獲取屬性值。 或者: 瞭解:=========================================
mysql中datetime、date、timestamp資料型別的區別
1、datetime資料型別表示同時包含日期和時間。 mysql檢索並且以'YYYY-MM-DD HH:MM:SS'格式顯示datatime值,支援的範圍是'1000-01-01 00:00:00'
java中資料型別在堆與棧中的儲存
1.基本資料型別 eg:int i=1; 基本資料型別都存在棧中,它並沒有建立物件,只是將值放入變數的引用中。 2.引用型別 2.1 String a="abc"; //實際上a是引用變數,"abc"是物件(其實也算不上物
SpringBoot如何將類中屬性與配置檔案中的配置進行繫結
1 匯入配置檔案處理器,配置檔案進行繫結就會有提示。<dependency> <groupId>org.springframework.boot</groupId&
無法為具有固定名稱“System.Data.SqlClient”的 ADO.NET 提供程式載入在應用程式配置檔案中註冊的實體框架提供程式型別“System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer”。請
Windows服務中程式釋出之後會如下錯誤: 無法為具有固定名稱“System.Data.SqlClient”的 ADO.NET 提供程式載入在應用程式配置檔案中註冊的實體框架提供程式型別“System.Data.Entity.SqlServer.SqlProviderServices, EntityFra
hibernate config配置檔案中mapping的檔案找不到
Hibernate.cfg.xml檔案存在src根目錄下 <mapping file="com\yjw\domain\Student.hbm.xml"/> 找不到該檔案 若寫成src\com\abc\domain\Student.hbm.xml就可以了 後發現
C語言與java語言中資料型別的差別總結
在學習java的時候,看到char ch = '男' ;我就覺得很奇怪,char型別不是佔用一個位元組嗎?為什麼定義成一個漢字被說成是一個字元了?原來,在C語言中,char在32位作業系統下佔用1個位
spring配置檔案中classpath與classpath* 的區別
lib和classses下檔案訪問的優先順序 lib>classes 對於效能的影響不在這個裡面: classpath與classpath*區別 classpath:只會在你的classes的路徑中查詢檔案 classpath:不僅包含class路徑,還包含jar中的
linux中資料型別的表示與思考
uint64_t 型別 可以支援64位的無符號數,使用這個關鍵字,需要引用標頭檔案#include<inttypes.h> 在使用多執行緒的過程中,pthread_create(&tid,NULL,func,arg); 如果只是想傳一個數進去,那麼可以直接
java中根據hibernate配置檔案自動建表
1、對與java專案,做資料庫遷移時,都會用的資料指令碼。 2、當引入hibernate時,可以建立資料庫表的配置檔案。可以根據表的配置檔案自動在資料庫建表。(資料庫要預先建立好,因為hibernate只會建表,不會建庫) 步驟: 1)、在配置檔案 hibernate.cf
struts2配置檔案中result的type型別
struts的核心配置檔案是struts找頁面用的,用返回的字串,通過配置檔案的配置,去查詢返回相應的頁面。在struts配置檔案中,result的型別有不同種類,預設的跳轉方式是dispat
mybatis的xml配置檔案中使用select語句資料不全
我的資料表裡項很多,但是用mybaits中的xml配置檔案select語句卻只返回了幾句話,之前我的程式碼是這樣的: <select id="selectAll" resultType="entity.Transaction"> selec