2015-10-13 22 views
1

我使用Hibernate,JPA和PostgreSQL的Spring Boot。我想將數據庫大對象轉換爲文本內容。以前我是定義我的長文在我的JPA實體@Lob如何將大對象列轉換爲長文本?

@Lob 
String description; 

然後我發現,經常的問題是使用@Lob的創造和決定,而其更改爲:

@Type(type="org.hibernate.type.StringClobType") 
String description; 

哪個在數據庫中表示爲文本類型。不幸的是,現在前面的大對象的引用號(oid)存儲在我的行中而不是實際的內容中。比如:

id | description 
--------------------- 
1 | 463784   <- This is a reference to the object rather than the content 

代替:

id | description 
--------------------- 
1 | Once upon a time, in a galaxy... 

我的問題是現在我們有成千上萬行數據的數據庫,我怎麼寫一個函數或執行查詢,以取代大對象ID與存儲在大對象中的實際文本內容?

+0

您到目前爲止嘗試了什麼? – JEY

+1

http://dba.stackexchange.com/a/90942 –

回答

1

特別感謝@BohuslavBurghardt指着我this答案。爲了您的方便:

UPDATE table_name SET column_name = lo_get(cast(column_name as bigint))