PostgreSQL JPA使用總結(持續更新)

2021-09-26 14:31:53 字數 1591 閱讀 8227

select nextval('schemaname.sequencename') as id from generate_series(starter: integer, stop: integer)
其中generate_series為乙個函式用於獲取帶序數的行,返回的行數為stop-starter+1

使用如下**獲得序列的當前值

select currval('schemaname.sequencename);
會提示

「currval of sequence 「centrelink_request_batch_number」 is not yet defined in this session」

這是因為當前序列還沒有使用過,快取中無值,如果使用nextval獲得過一次序列的值,就可以使用currval獲得序列的當前值了

貨幣型別,儲存具有固定精度的貨幣數量,如下表所示。小數精度由資料庫的lc_money設定決定。表中所示的範圍假設有兩個小數。輸入可以接受多種格式,包括整數和浮點文字,以及典型的貨幣格式,如』$1,000.00』。輸出通常是後一種形式,但取決於地區。

由於這種資料型別的輸出對local敏感,因此將貨幣資料載入到具有不同lc_money設定的資料庫中可能無法工作。為了避免出現問題,在將其儲存到新資料庫之前,請確保lc_monetary的值與轉儲的資料庫中的值相同或相等。

numeric、int和bigint資料型別的值可以轉換為money。從實數和雙精度資料型別轉換可以通過先轉換為數值型別來實現,例如:

select '12.34'::float8::numeric::money;
但是,不建議這樣做。浮點數不應該用於處理貨幣,因為可能會出現捨入錯誤。money值可以轉換為numeric而不丟失精度。但如果轉換為其他型別可能會丟失精度,面且必須分兩個階段完成:

select '52093.89'::money::numeric::float8;
當乙個貨幣值除以另乙個貨幣值時,結果是double型別(即,乙個純粹的數字,而不是money型別),在除法中,貨幣單位相互抵消。

jpa的@query註解中,如果不加nativequery=true,則寫的sql是jpql,而jpql是不支援limit的,如果加入nativequery=true,則寫的sql是原生sql,而原生sql是支援limit的,因此,如果要使用limit,則需要在@query中加入nativequery=true

**表

@entity

public class media implements serializable

@entity

public class mediacomment implements serializable

在updatable=false不新增時,會發現刪除**表時,會發生更新語句fk_media_id不能為null的錯誤提示,新增updatable=false即可解決該問題。

參考:

使用GraphEdit使用

1 註冊元件。其實乙個filter就是乙個com元件,所以使用之前需要註冊,可以有兩種方法對元件進行註冊。1.直接使用命令。命令列下輸入 regsvr32 hqtlystd.ax 編譯之後你會在工程目錄下的debug中找到hqtlystd.ax,這個就是要用的filter 即可註冊成功。2.vc6....

MySQL使用學習使用 mysql學習使用

1 mysql學習 1 安裝 ubuntu下直接安裝 apt get install mysql server 2 檢查伺服器是否啟動 sudo netstat tap grep mysql,如果啟動成功,出現以下資訊 tcp00localhost.localdomain mysql listen ...

學習使用CSDN markdown使用

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...