2013-07-02 63 views
0

我在Hibernate中使用JPA,需要在數據庫中存儲小型XML數據(最多500個字符)。JPA中XML數據的列類型

我不需要查詢XML數據,也就是說,XML數據永遠不會是WHERE子句的一部分。

我應該使用哪種數據類型?

+0

你有目標數據庫運行時嗎?還是它是通用的,任何數據庫? 500字符是一個明確的長期存儲限制? –

+0

@John Ament我正在尋找一個數據庫不可知的解決方案,500是絕對最大的。 –

回答

4

@Lob或使用type="clob"註釋您的財產。

@Lob指示屬性應該以斑點被持久或 的Clob取決於屬性類型:java.sql.Clob中,字符[], 炭[]和java.lang.String中會堅持在Clob。 java.sql.Blob,Byte [],byte []和可序列化類型將在Blob中持久保存 。

Source/Oracle docs

您也可以考慮使用延遲加載這樣的數據@Basic(fetch = FetchType.LAZY)的。

0

XML是一種基於文本的格式,它是不是一個不好的做法,將其存儲在數據庫中,微軟的SQL Server甚至有一個XML數據類型。所以,如果您使用的是Microsoft SQL Server,則可以使用它。請找到從MSDN下面的鏈接瞭解更多信息:

http://msdn.microsoft.com/en-us/library/hh403385.aspx 

對於其他數據庫中,同樣是將其存儲在VARCHAR或nvarchar文本格式,因爲在未來,如果你想查詢數據庫是個好主意並處理XML,這將非常方便。