Hibernate4 clob欄位存取,hibernate4clob欄位
domain的欄位:
private Clob content;
hibernate的xml映射
<property name="content" type="clob"> <column name="CONTENT" > <comment>內容</comment> </column></property>
首先是儲存:
LobHelper lobHelper = session.getLobHelper();Clob clob = lobHelper.createClob(content);news.setContent(clob);
content是前台傳遞的內容。這樣我們就可以儲存這個對象了。
下面是讀取:
News news = newsDAO.get(id);Clob clob = news.getContent();return StringUtils.clobToString(clob);
我們查詢到對應的對象,然後擷取到clob,然後傳入一個靜態方法,從而得到字串。
該靜態方法的代碼如下:
public static String clobToString(Clob clob) { String reString = ""; Reader is = null; try { is = clob.getCharacterStream(); } catch (SQLException e) { e.printStackTrace(); } // 得到流 BufferedReader br = new BufferedReader(is); String s = null; try { s = br.readLine(); } catch (IOException e) { e.printStackTrace(); } StringBuffer sb = new StringBuffer(); while (s != null) { //執行迴圈將字串全部取出付值給StringBuffer由StringBuffer轉成STRING sb.append(s); try { s = br.readLine(); } catch (IOException e) { e.printStackTrace(); } } reString = sb.toString(); return reString; }
結束。