2016-07-07 53 views
0

我使用Spring引導與Hibernate JPA在我的實體類下面的代碼BLOB,JPA如何設置列類型爲ElementCollection表

@ElementCollection 
private Map<String, String> userFiles= new HashMap<>(); 

在其中產生採集表user_files。但是默認的列類型是VARCHAR(255),有時候用戶數據可能比這個長。我的問題是如何定義此表以使用BLOBTEXT作爲列?我試圖直接在@Lob註釋中註解,但不起作用。

+0

爲什麼,鍵或值的地圖? –

+0

應該更清楚。對於基於用戶輸入並且可以很長的地圖值。 – Derek

+0

我會希望'@ Lob'註釋應用於該值,正如您所說的那樣。當然,_orm.xml_ XSD允許''下的'',這意味着它應該可以工作。也許在你的JPA提供程序中引發一個問題,或者查閱他們的文檔,因爲我沒有看到其他明顯的地方 –

回答

1

您是否嘗試過以下方法?

@Column(columnDefinition="BLOB NOT NULL") 
@MapKeyColumn(columnDefinition="BLOB NOT NULL") 

MapKeyColumnLob

+0

非常感謝。我在之前找到了這些註釋,但是我犯了一個錯誤,我應該先刪除先前創建的表,否則JPA將不會使用新配置創建新表。你的回答引導我重試並最終找出答案。 – Derek

相關問題