簡體   English   中英

使用Oracle和PostgreSQL的長文本列進行Hibernate

[英]Hibernate with long text column with Oracle and PostgreSQL

我正在嘗試讓一個實體在Spring Boot(1.4.4)應用程序中使用Oracle(11.2)和PostgreSQL(9.4)。

我的實體包含一個長文本字段(超過4000個字符)。 Oracle中適當的數據類型是CLOB,PostgreSQL中的相應類型是TEXT。

我能夠使它與PostgreSQL一起使用

@Column(name = "LONG_TEXT", columnDefinition="TEXT")
private String longText;

但是,由於CLOB需要@Lob注釋,因此Oracle在休眠驗證階段會失敗。

以下代碼適用於Oracle

@Lob
@Column(name = "LONG_TEXT")
private String longText;

但是這次從PostgreSQL讀取時出現以下異常:

PSQLException:大對象可能無法在自動提交模式下使用

堆棧溢出建議在事務中執行查詢。 無視在select查詢中調用事務的可疑要求,將@Transactional添加到查詢方法沒有幫助。

任何想法都受到歡迎。

我們采用的解決方案是采用@Lob和@Transactional方法。

主要問題是放置@Transactional注釋,導致PSQLException。 一旦修復,我們就可以使用這兩種類型的DB。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM