1. 程式人生 > >Hibernate關於查詢Timestamp欄位總結

Hibernate關於查詢Timestamp欄位總結

之前在Mysql中做條件查詢遇到點問題,經過科普以後,總結對Timestamp使用遇到的問題,希望對大家有幫助。
1. 如何查詢某一天的資料?
解決的辦法有很多種,我說一種我的做法,算是比較簡單的:我們知道在Mysql中Timestamp欄位的格式為yyyy-MM-dd HH-mm-ss 當你需要查詢某天的時候,肯定是要去掉欄位的時分秒的,Mysql提供了一些函式幫助我們格式化這些欄位。這裡就不提了,我的解決辦法是在hql語句中的where條件中寫 like ‘day%’,這樣也能查出來。
2. Hibernate查詢Timestamp資料為’0000-00-00 00-00-00’就報錯,提示can’t execute the query ,為什麼會提示這種錯誤呢?首先明確一點,就是hql語句沒有寫錯的情況下。原因是在連線資料庫中少加了一段&zeroDateTimeBehavior=convertToNull。加上就不會錯誤了。
3. 另外一點有時候執行查詢時候會報一個 no session 的錯誤,是因為在Hibernate的對映配置檔案中的< many to one lazy = “false”> 和< one to many >< set lazy=”false”>中沒有加上lazy的屬性,加上就不會報這個錯誤了。