hibernate自動建表設定欄位型別為資料庫中為timestamp型別
1:專案需要,欄位應該設計為timestamp型別,但自動建表後總是被設定為datetime(當時用的資料庫為sqlserver)
Google後,在配置檔案(Xxx.hbm.xml)中column新增
sql-type="timestamp" default="CURRENT_TIMESTAMP"後自動建立表後欄位被設定為timestamp,預設為當前時間。
完整欄位配置:
<property name="recordTime" type="java.sql.Timestamp"><column name="recordTime" not-null="true" sql-type="timestamp" default="CURRENT_TIMESTAMP"/>
</property>
2:如果是用註解配置呢?應該怎麼配置呢?如下即可:
@Column(name = "currenttime",columnDefinition="timestamp",insertable=false,updateable=false)
private String currenttime;
3:上面註解的關鍵在:columnDefinition="timestamp",timestamp就是sqlserver中定義的時間戳的型別。
4:sqlserver欄位型別,欄位名,表名,資料庫名是不區分大小寫的,所以
columnDefinition="timestamp"
columnDefinition="TimeStamp"
columnDefinition="TIMESTAMP"
都是等價的,本人親自測試過,讀者不信也可以去試試。
5:insertable=false,updatable=false也是有用的,因為sqlserver中的timestamp是sqlserver自動產生的,所以即使是null值也是不允許插入的,不然插入資料的報時間戳顯示插入錯誤。更新的時候亦是如此。
6:這裡我們java中的資料型別是String型別,sqlserver中是timestamp,更新的時候,我發現會出問題,hibernate中報的是,String不能轉化為integer,可見sqlserver中的timestamp本質就是一個16進位制的整形資料。
7:用hibernate更新資料,如果樣將查詢出來的timestamp作為where條件,如
update table set fieldname=fieldvalue where id=? and currenttime=?
上面的currenttime一定是轉化為十進位制整形後的值,不然就會報string轉化integer錯誤。
8:另外,本人還測試了一下mysql的timestamp,發現並不可用,mysql中的timestamp並不是整形的16進位制數。
相關推薦
hibernate自動建表設定欄位型別為資料庫中為timestamp型別
1:專案需要,欄位應該設計為timestamp型別,但自動建表後總是被設定為datetime(當時用的資料庫為sqlserver) Google後,在配置檔案(Xxx.hbm.xml)中column新增 sql-type="timestamp" default="CUR
JPA 通過註解自動生成表 新增 欄位名、型別、註釋
@Table - 對映表名 @Id - 主鍵 @GeneratedValue(strategy=GenerationType.IDENTITY) - 自動遞增生成 @Column(name = “dict_name”,columnDefinition=”varchar(100) COMMENT ‘字
mysql_建表參考欄位
建表常用欄位 ID 主健 varchar(36) 或者 bigint 金額 decimal(15,2) 或者用整數 以分為單位 (主要是怕出錯避免精度) RESERVED_FIELD reserved_field 預留欄位 varch
出現 Unable to instantiate default tuplizer,hibernate自動建表失敗,原因是在實體類中聲明瞭成員變數describe,而describe是mysql關鍵字
歡迎使用Markdown編輯器寫部落格 本Markdown編輯器使用StackEdit修改而來,用它寫部落格,將會帶來全新的體驗哦: Markdown和擴充套件Markdown簡潔的語法 程式碼塊高亮 圖片連結和圖片上傳 LaTex數學公式 UML序列圖和
flask-連線資料庫flask_aqlalchemy-建表-增加欄位-刪除-修改
安裝模組 pip install pymysql pip install flask_aqlalchemy flaskpei配置檔案setting.py 中配置資料庫 設定資料庫url #coding=utf-8 class DataBaseSetting: DEBUG=Tr
hibernate自動建表 屬性填update 會報錯
自動建表 屬性填update 會報錯的解決方法 hibernate入門學習時,JUnit單元測試時,報錯 顯示以下錯誤: java.lang.ClassCastException: java.util.Collections$EmptyIte
Hibernate自動建表(使用DDL語句)
Gd上次和大家談到使用DDL語句實現自動建表失敗的問題,過了幾天再回頭看果然思路就變得清晰許多,原來是xxx.hbm.xml檔案的配置上出了問題,因為上次沒有用Junit進行測試,所以沒有看明白問題的描述,這裡不得不說一句,Junit真是個好東西,emmmmmm。Junit測
Springboot 之 Hibernate自動建表(Mysql)
本文章來自【知識林】 引入Maven依賴包 <dependency> <groupId>org.springframework.boot</groupI
hibernate自動建表到資料庫及spring下自動建表到資料庫
Hibernate支援自動建表,在開發階段很方便,可以保證hbm與資料庫表結構的自動同步。 如何使用呢?很簡單,只要在hibernate.cfg.xml里加上如下程式碼 Xml程式碼<prope
hibernate在用註解設定欄位的預設值時遇到的問題
今天小編在用hibernate設定欄位的預設值的時候遇到的一個小問題,特意分享一下,以免後來人繼續犯錯。。 小編的pojo層的程式碼是這樣寫的。。 package com.Shayla.pojo;
JPA學習筆記---JPA實體Bean的建立---連結上一個博文:對實體Bean中屬性進行操作:儲存日期型別,設定欄位的長度,名字,是否為空,可以宣告列舉欄位;可以存放二進位制資料,可以存放
3.給上述生成的那個name欄位:更改資料庫中的欄位名,是否為空,欄位長度的設定,只需要 在Person.java檔案中,加上@Column(length=10,nullable=false,name="productname")//設定欄位的長度public Stri
Python3.5+SQL+Prometheus+Grafana報表/監控 pymysql 單獨獲取表的欄位名稱 pymysql返回資料為字典形式(key:value--列:值)
參考資料: pymysql 單獨獲取表的欄位名稱 pymysql返回資料為字典形式(key:value--列:值) #coding=utf-8 import sys import pymysql import os from prometheus_cl
SQL 一個使用者表中有一個積分欄位,假如資料庫中有100多萬個使用者,若要在每年第一天凌晨將積分清零,你將考慮什麼,你將想什麼辦法解決?
alter table drop column score; alter table add colunm score int; 可能會很快,但是需要試驗,試驗
oracle資料庫中的timestamp型別,轉換為date 型別
0 1引入包 2import oracle.sql.TIMESTAMP;(注意不是import java.sql.Timestamp;) 3//呆段程式碼的意思是,取出上表中某條記錄的Add_time欄位,然後轉換為date型別,然後再由date型別轉換成字串。 Simp
Hiberntate不能自動建表的問題:hibernate.(*)
寫代碼 dial ddl ber pro nta auto OS div 今天寫代碼的時候發現啟動服務器之後不能自動建表了?wtf什麽鬼?最後發現了這個問題: hbm2ddl.auto前的hibernate.省略之後出的問題,可能是bug之後的版本應該會修復 <pro
hibernate不能自動建表:MySQLSyntaxErrorException: Table '' doesn't exist
mysql mysql5 nat nta exist ble property cep exception 修改前: <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect<
SQL Server 2008獲取一個表的欄位,型別,長度,是否主鍵,是否為空,註釋等資訊
SELECT [表名]= case when a.colorder=1 then d. name else '' end , [表說明]= case when
sqlserver 獲取所有表的欄位型別等資訊
USE [MultipleAnalysisDataFY] GO /****** Object: View [dbo].[selectfieldtype] Script Date: 2018/11/7 星期三 12:02:27 ******/ SET ANSI_NULLS ON GO SET
hibernate通過pojo自動建表操作
1. 多對一 如球員和球隊的關係:多個球員在同一個球隊中。 1.1 類圖 TeamPojo:屬性 + set/get public class TeamPojo{ private Integer teamId; private String teamName; private String team
es站內站內搜尋筆記(一) Mysql 如何設定欄位自動獲取當前時間
es站內站內搜尋筆記(一) 第一節: 概述 使用elasticsearch進行網站搜尋,es是當下最流行的分散式的搜尋引擎及大資料分析的中介軟體,搜房網的主要功能:強大的搜尋框,與百度地圖相結合,實現地圖找房,包括前臺模組和後臺模組。 elasticsearch + mysql +kafka實